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


Автор: svarogik 21.12.2008, 14:45
Есть база данных, в таблице одно поле OLE, я хочу загрузить в это поле картинку, и чтоб она отображалась потом в DBIMAGE после того как щелкнешь по соответствующей строке в DBGRID, 


Код

procedure TForm1.DBImage1Click(Sender: TObject);
begin
if openpicturedialog1.Execute then
  begin

   CurrFileName:=OpenPictureDialog1.FileName;
   Dbimage1.Picture.LoadFromFile(CurrFileName);
   //datamodule.DataModule2.booktable.Insert;
  end;

end;


пытаюь сделать так, картинка загружается, показывается, но не сохраняется, тоесть когда щелкну на другую запись, а потом обратно, она исчезает,
в DataSource  указано сооветствующее значение, 
  datafield указано соответствующее поле типа OLE.

чуть не забыл база сделана в MS access, везде используется компоненты ADO, ну и собственно вопрос , как правильно загрузить картинку в таблицу, и показать, подходит ли мой способ, или както лучше по другому?

Автор: araks 23.12.2008, 00:18
Цитата

в DataSource  указано сооветствующее значение,  datafield указано соответствующее поле типа OLE.

Если все правильно завязано через DataSource, то можно попробовать сделать так:
Код

CurrFileName:=OpenPictureDialog1.FileName;
DBImage1.DataSource.DataSet.Edit;
Dbimage1.Picture.LoadFromFile(CurrFileName);
DBImage1.DataSource.DataSet.Post;


Когда у меня была похожая задача решал ее через TGraphicField. Но СУБД была другая, да и правильно ли делал, сказать не могу. 
Возможно есть более красивые вариантыsmile

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