|
|
|
OLE и данные неизвестного типа
|
|||
|---|---|---|---|
|
#18+
Здравствуйте все!!! Встала передо мной такая задача: пользователю необходимо сохранить данные в базу, вот только заранее не известно какие, т.е. это может быть книга экселя, документ ворда или просто отсканированный документ. На форуме SQL Server подсказали что в базе поле должно быть типа image, оно все примет. Вопрос стоит в том как это реализовать програмно? Я понимаю что надо использовать OLE-объект, но что с ним делать дальше пока не представляю. Помогите пожалуйста кто знает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 11:06:21 |
|
||
|
OLE и данные неизвестного типа
|
|||
|---|---|---|---|
|
#18+
Попробую по-другому, как можно сохранить книгу Экселя в базу, и возможно ли вообще такое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 13:08:46 |
|
||
|
OLE и данные неизвестного типа
|
|||
|---|---|---|---|
|
#18+
открываешь стрим, закачиваешь в него данные, потом полю имидж присваиваешь этот стрим и все так же и в обратном порядке если надо могу и код подкинуть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 13:25:21 |
|
||
|
OLE и данные неизвестного типа
|
|||
|---|---|---|---|
|
#18+
Подкинь пожалуйста))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 05:02:27 |
|
||
|
OLE и данные неизвестного типа
|
|||
|---|---|---|---|
|
#18+
С записью данных вроде разобралась. Делаю так: Dim i As Integer i = FreeFile CommonDialog1.ShowOpen Dim myStream As ADODB.Stream Set myStream = New ADODB.Stream myStream.Type = adTypeBinary myStream.Open myStream.LoadFromFile CommonDialog1.FileName If rcd6.State = 1 Then rcd6.Close With rcd6 .Open "select * from oleshka", cn, adOpenDynamic, adLockOptimistic .AddNew '.Fields("IDOsn") = sk .Fields("ol") = myStream.Read .Update .Close End With myStream.Close Set myStream = Nothing Так ведь можно сохранить любой файл, вопрос теперь в другом как их просмотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 08:24:39 |
|
||
|
OLE и данные неизвестного типа
|
|||
|---|---|---|---|
|
#18+
Посмотреть что? Если сохраненный файл, то только путем сохранения его на диске (тоже самое сохранение в базу с точностью наоборот) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. сохранять файлы можно, к примеру, во временной директории Environ("TEMP") P.S.: ИМХО добавь в таблицу поле с именем файла и(или) описанием ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 09:19:00 |
|
||
|
OLE и данные неизвестного типа
|
|||
|---|---|---|---|
|
#18+
Ругается на: HandKot With rcd6 myStream.Write = Fields("ol") End With пишет, что процедура или функция не найдена ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 09:37:08 |
|
||
|
OLE и данные неизвестного типа
|
|||
|---|---|---|---|
|
#18+
Точку перед Fields поставьте, девушка... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 09:40:43 |
|
||
|
OLE и данные неизвестного типа
|
|||
|---|---|---|---|
|
#18+
пробовала, если я ставлю точку перед fields(), то он говорит "argument not optional" и выделяет .Write = у myStream ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 09:44:13 |
|
||
|
OLE и данные неизвестного типа
|
|||
|---|---|---|---|
|
#18+
Set myStream = New ADODB.Stream myStream.Type = adTypeBinary myStream.Open myStream.Write rcd(strField).Value myStream.SaveToFile strPath myStream.Close Set myStream = Nothing типа того ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 09:53:57 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33444009&tid=2166661]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
204ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 508ms |

| 0 / 0 |
