|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.03.2012, 08:00 | #1 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
Access 2007, TurboDelphi, OLE-поле
На Access 2007 создал БД. Там есть таблица CODE_PHOTO, где поля:
CODE - числовой, PHOTO- поле OLE. Загрузил пару картинок формата jpg всё в том же Access. Cохранил в формате *.mdb . Через TurboDelphi всё подключил через ADO, настроил, все нормально работает, кроме выгрузки картинок из БД в TImage. Пытался выгружать через TMemoryStream и через TADOBlobStream, и сюда тоже заходил. Поиск по форуму не решил проблему. Выдаёт ошибку "Jpeg Error #53". При трассировке с помощью точки останова на создании TMemoryStream и присваивании ему данных из blob-поля в объектном инспекторе напротив переменной типа TMemoryStream не отображается никаких данных. Попытался поизвращаться. Если из acess'a тыкнуть на blob-поле и нажать ctrl+С и в любой папке нажать ctrl+V , то сохранится документ BMP формата и его можно открыть. Если написать такой код Код:
На сторонних сайтах писали, что при загрузке через Access к файлу приписываются какие-то данные, и нормально не получится считать - нужно знать сигнатуру. В MainForm.pas на 432 строке начинается процедура procedure TForm2.DBGrid2DblClick(Sender: TObject); . В конце этой процедуры злополучные закомментированные строки кода, которые не работают. Исходники залил на rghost.ru , если кому-то вдруг захочется повозиться с самой БД. Пароль к самой DB1 - 123456 .
Если помог, проси поставить минус. Будь оригинален!
Последний раз редактировалось Rin; 13.03.2012 в 08:43. |
13.03.2012, 09:16 | #2 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
При загрузке картинки через Access и попытке открыть её посредством TADOBlobMemory в начало картинки записываются 82 байта, которые и мешают нормальной загрузке (заморочился в Hex -редакторе).
Вот в принципе чем картинка обрастает: PHP код:
Код:
Тему можно закрывать. rdama DBImage ругается на то, что это не bmp-шный формат. А всё из-за 82 байт в начале файла.
Если помог, проси поставить минус. Будь оригинален!
Последний раз редактировалось Rin; 13.03.2012 в 11:05. |
13.03.2012, 09:51 | #3 |
Форумчанин
Регистрация: 25.07.2009
Сообщений: 533
|
Может DBImage
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как из простого мемо записать в поле БД Access в поле тоже типа мемо с сохранением всех абзацев пробелов | Speeker | БД в Delphi | 2 | 28.11.2011 16:22 |
Импорт листа Excel из ячейки OLE базы данных Access | Gawwws | Microsoft Office Excel | 1 | 14.01.2011 00:58 |
Почему Access 2007 воспринимает поле как параметр? | Сергей089 | Microsoft Office Access | 1 | 12.11.2010 21:15 |
Тип данных OLE для таблиц Access | rockedit | БД в Delphi | 1 | 12.12.2009 21:15 |
OLE Access обновить ссылки на прилинкованные файлы /VBS,C++,Delphi/ | mrStrike | Microsoft Office Access | 0 | 02.04.2009 10:48 |