Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.15;
Скачать: CL | DM;

Вниз

Delphi + MS Access + OLE   Найти похожие ветки 

 
Юрий Федоров ©   (2003-04-21 18:53) [0]

Добрый день. Извиняюсь за ламерский вопрос (с базами серьезно сталкиваться не приходилось:-()
Как мне при подключении к базе Access вывести на экран в программе-клиенте содержимое поля типа "поле объекта OLE"?
Заранее благодарен


 
Arm79 ©   (2003-04-21 19:11) [1]

Какая информация в этом поле (текст, графика, файл, все подряд)?


 
Юрий Федоров ©   (2003-04-21 19:30) [2]

Могут быть разные варианты - документ WORD, zip - архив, текстовый файл


 
Arm79 ©   (2003-04-21 19:31) [3]

текст - DBMemo,
графика - DBImage,
файл - SaveTo- LoadFromStream, SaveTo- и LoadFromFile,
все подряд - SaveTo- LoadFromStream+код анализа содержимого


 
Юрий Федоров ©   (2003-04-21 19:38) [4]

Я думал, что можно зацепить что-то типа TOleContainer, который будет сам анализировать, как это вывести. Но к сожаленю после выполнения поле.SaveToStream -> контейнер.LoadFromStream возникает исключение о неверном формате потока :-(

В самой среде Access редактор сразу запускает нужный сервер ,неужели этого нельзя добиться в DElphi ?


 
Arm79 ©   (2003-04-21 19:44) [5]

При записи в поле BLOB к информации добавляется заголовок. Какой длины он, я не помню. У картинок вроде как 79+-2. Считай из поля в MemoryStream, Сдвинься на нужное число байт, и с того места и считывай.


 
Юрий Федоров ©   (2003-04-22 18:47) [6]

>>Arm79 © (21.04.03 19:44)
Заголовок переменной длины, по крайней мере там пишутся NULL-terminated строки с указанием длины. По набору заголовков из имеющихся данных полностью понять структуру заголовка не удалось :-(
Так что проблема осталась нерешенной


 
Arm79 ©   (2003-04-24 17:15) [7]

Пришли исходные тексты (как записи, так и считывания в БД). Попробуй записать в файл, а не в поток. И еще, я так понимаю, работаешь через ADO, значит используй при чтении/записи TADOBLOBStream.



Страницы: 1 вся ветка

Текущий архив: 2003.05.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
3-46610
Merlot
2003-04-22 17:05
2003.05.15
Объединение таблиц.


1-46780
Vlad1
2003-05-01 18:39
2003.05.15
Приведение типов


1-46776
Димыч
2003-05-01 13:35
2003.05.15
Прочитать чужой Memo


7-47018
asdf622
2003-03-20 17:08
2003.05.15
Очистка памяти. Как сделать?


14-46898
als
2003-04-28 15:52
2003.05.15
Ничего не пойму