Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Хранение рисунков в базе данных [D5, MS Access]


Viktor ©   (2003-04-29 01:36:00) 

Помогите решить проблему хранения рисунков в базе данных Access
Доступ к базе данных через ADO
На форме есть DBGrid и DBImage
При вызове формы выдается такое сообщение
Bitmap image is not valid

А также как добавлять эти рисунки


Viktor   (2003-05-13 01:50:00) [1]

http://www.all-for-delphi.narod.ru/files/example/picture.rar
Вот набросал пример, не знал что всем будет интересно
> Georgi Georgiew
Уже 4


Georgi Georgiew   (2003-05-12 17:56:00) [2]

Как сделал ?


Viktor   (2003-05-04 00:59:00) [3]

Спасибо всем!
Разобрался, на самом деле все в хранении формата данных
Access поддерживает один, а средствами Delphi другой.
С полем BLOB разобрался.
Еще раз спасибо.


Viktor   (2003-04-30 18:46:00) [4]

>koks
Если не очень большая, может вышлешь?


koks   (2003-04-30 12:18:00) [5]

Рисунки в Access хранятся в "поле объекта OLE".
У меня есть рабочая база (демосы к QuantumGrid4). Там как раз использиутся ADO->JET4->Access2000. База с картинками.


Kuusiniemi   (2003-04-30 11:06:00) [6]

MEMO в Access - 64k и не больше.


KoluChi   (2003-04-30 10:09:00) [7]

2Johnmen © (30.04.03 09:16)
Не-а, BLOB - поле объекта OLE


Johnmen   (2003-04-30 09:16:00) [8]

MEMO и есть аналог BLOB...:)


Viktor   (2003-04-30 07:18:00) [9]

Текстовый
поле MEMO
Числовой
Дата/Время
Денежный
Счетчик
Логический
Поле объекта OLE
Гиперссылка


Johnmen   (2003-04-30 00:11:00) [10]

>Viktor (30.04.03 00:05)
>В MS Access нет такого типа поля

А какой есть ?


Viktor   (2003-04-30 00:05:00) [11]

В MS Access нет такого типа поля
Может это для таблиц Paradox?
Какие еще могут быть варианты?


KoluChi   (2003-04-29 13:45:00) [12]

Можно с оставить DBImage, только проверьте что он ссылается на поле типа BLOB.


KoluChi   (2003-04-29 13:40:00) [13]

Пустая запись - вот и ругается.

Лучше использовать просто Image или другой не DB конпонент и записывать туда поток с картинкой.

Сложностей нет никаких. Обычная работа с BLOB. Посмотрите faq.

Добавлять примерно так:
function PictAdd(FileName: String): Boolean;
var
ArcName: String;
BS: TADOBLOBStream;
FS: TFileStream;
begin
Result := false;
ArcName := ExtractFileName(FileName);
with q_PICT_ADD do
begin
Close();
FS := TFileStream.Create(FileName, fmOpenRead + fmShareDenyNone);
FS.Position := 0;
Parameters.ParamByName("FILE_NAME").Value := ArcName;
Parameters.ParamByName("IMJ").LoadFromStream(FS, ftBLOB)
ExecSQL();
Close();
FS.Free();
Result := true;
end;
end;
Только в Query нужно написать запрос на добавление с параметрами.


Viktor   (2003-04-29 13:12:00) [14]

Что, никто с этим не работал?
Очень надо.

Заранее спасибо за любой ответ или ссылку


Наверх

Титульная страница Поиск, карта сайта Написать письмо