Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Как добавить изображение в таблицу ADO?


Автор: Vrungel 5.6.2009, 20:06
поможите чем можите =)

я создал таблицу в access, там есть поле OLE я добавил Изображение в него. Потом связал таблицу с Делфи запустил программу, а изображения не отображаються ... как сделать так, чтобы при нажатии на строку отображалась определённое изображение ?? smile 

заранее спасибо!!

Автор: vovk 5.6.2009, 20:25
DBImage на форму добавь и привяжи его к DataSource к которому прявязан DBGrid, а в в свойстве DataField выбери своё поле 

Автор: Vrungel 5.6.2009, 21:04
всё сделал как сказали, но он пишит ошибку "rised exception class einvalidgraphic with message 'bitmap imege is not valid'. use step or run to continue" формат рисунка ему не нравитьься ... .jpg  и .bmp пробывал не получаеться ....

Автор: vovk 5.6.2009, 21:28
а там точно картинка? smile 

Автор: Vrungel 5.6.2009, 21:33
угу  smile  а если я очищу поля с ОЛЕ в акцессе, можно будит добавить изображения через Делфи?? и как это сделать? smile 

Автор: vovk 5.6.2009, 22:03
к примеру так
Код

 ADOTable1.edit;
(ADOTable1.Fields.FieldByName('поле') as tblobfield).LoadFromFile('c:\1.bmp');
ADOTable1.Post;

Автор: Vrungel 6.6.2009, 07:46
я ещё совсем зелённый в этом деле ....
можно по подробнее?
куда это вводить,, в какую процедуру, какие свойства указывать и т.д. smile ?
Код

ADOTable1.edit;
(ADOTable1.Fields.FieldByName('поле') as tblobfield).LoadFromFile('c:\1.bmp');
ADOTable1.Post;

Автор: vovk 6.6.2009, 08:23
да хоть в какую. Будет добавлять картинку в текущую запись таблички которая привязана к ADOTable1, в там где 'поле' надо естесвенно писать название поля, в там где 'c:\1.bmp' естесвенно полный путь к файлу. 
В таком виде будет работать только для bmp

хотябы так , добавляем на форму opendialog  и button

на нажатие кнопки так
Код

procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
ADOTable1.edit;
(ADOTable1.Fields.FieldByName('поле') as tblobfield).LoadFromFile(OpenDialog1.FileName);
ADOTable1.Post;
end;
end;

Автор: Vrungel 6.6.2009, 14:37
Спасибо спасибо!!! smile 
это таже лучше чем я планировал  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)