Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / OLE и данные неизвестного типа / 11 сообщений из 11, страница 1 из 1
19.12.2005, 11:06:21
    #33443568
Plux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE и данные неизвестного типа
Здравствуйте все!!!

Встала передо мной такая задача: пользователю необходимо сохранить данные в базу, вот только заранее не известно какие, т.е. это может быть книга экселя, документ ворда или просто отсканированный документ. На форуме SQL Server подсказали что в базе поле должно быть типа image, оно все примет. Вопрос стоит в том как это реализовать програмно? Я понимаю что надо использовать OLE-объект, но что с ним делать дальше пока не представляю.
Помогите пожалуйста кто знает.
...
Рейтинг: 0 / 0
19.12.2005, 13:08:46
    #33444009
Plux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE и данные неизвестного типа
Попробую по-другому, как можно сохранить книгу Экселя в базу, и возможно ли вообще такое?
...
Рейтинг: 0 / 0
19.12.2005, 13:25:21
    #33444078
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE и данные неизвестного типа
открываешь стрим, закачиваешь в него данные, потом полю имидж присваиваешь
этот стрим и все
так же и в обратном порядке
если надо могу и код подкинуть
...
Рейтинг: 0 / 0
20.12.2005, 05:02:27
    #33445438
Plux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE и данные неизвестного типа
Подкинь пожалуйста)))
...
Рейтинг: 0 / 0
20.12.2005, 08:24:39
    #33445526
Plux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE и данные неизвестного типа
С записью данных вроде разобралась. Делаю так:

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

Так ведь можно сохранить любой файл, вопрос теперь в другом как их просмотреть?
...
Рейтинг: 0 / 0
20.12.2005, 09:19:00
    #33445602
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE и данные неизвестного типа
Посмотреть что?
Если сохраненный файл, то только путем сохранения его на диске
(тоже самое сохранение в базу с точностью наоборот)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim myStream As ADODB.Stream
Set myStream = New ADODB.Stream
myStream.Type = adTypeBinary
myStream.Open
With rcd6
  myStream.Write = Fields("ol")
End With
myStream.SaveToFile  strFileName, adSaveCreateOverWrite
myStream.Close
Set myStream = Nothing

сохранять файлы можно, к примеру, во временной директории Environ("TEMP")

P.S.: ИМХО добавь в таблицу поле с именем файла и(или) описанием
...
Рейтинг: 0 / 0
20.12.2005, 09:37:08
    #33445632
Plux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE и данные неизвестного типа
Ругается на:
HandKot
With rcd6
myStream.Write = Fields("ol")
End With

пишет, что процедура или функция не найдена
...
Рейтинг: 0 / 0
20.12.2005, 09:40:43
    #33445648
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE и данные неизвестного типа
Точку перед Fields поставьте, девушка... :)
...
Рейтинг: 0 / 0
20.12.2005, 09:44:13
    #33445657
Plux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE и данные неизвестного типа
пробовала, если я ставлю точку перед fields(), то он говорит
"argument not optional" и выделяет
.Write =

у myStream
...
Рейтинг: 0 / 0
20.12.2005, 09:53:57
    #33445688
Plux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE и данные неизвестного типа
Set myStream = New ADODB.Stream
myStream.Type = adTypeBinary
myStream.Open
myStream.Write rcd(strField).Value
myStream.SaveToFile strPath
myStream.Close
Set myStream = Nothing

типа того
...
Рейтинг: 0 / 0
20.12.2005, 10:14:53
    #33445749
Plux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE и данные неизвестного типа
Спасибо HandKot все работает, остался вопрос в открытии этого файла с диска, но думаю сама разберусь, СПАСИБО.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / OLE и данные неизвестного типа / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]