Форум: "Базы";
Текущий архив: 2003.05.15;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c