Tips dan trick sederhana untuk menyimpan JPEG image ke dalam database :
1. Scan image, simpan ke dalam file jpg, simpan ke dalam database
Procedure TForm1.Button1Click(Sender: TObject); begin if OpenPictureDialog1.Execute then with Table1 do begin Append; Table1Graphic.LoadFromFile(OpenPictureDialog1.Filename); Post; end; end;
atau jika anda prefer untuk menggunakan non persisten field, gunakan :
(FieldByName('Graphic')as TBlobField).LoadFromFile(OpenPictureDialog1.Filename);
2. Menampilkan data blob ke dalam TImage (Anda tidak dapat menggunakan TDBImage standar dalam hal ini, karena TDBImage standar khusus digunakan untuk bitmap). Buat onDataChange handler data komponen Datasource
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField); var jpg:TJpegImage; memStream:TMemoryStream; begin memStream:=TMemoryStream.Create; try jpg:=TJpegImage.Create; try if not Table1Graphic.IsNull then begin Table1Graphic.SaveToStream(memStream); memStream.Seek(0,0); jpg.LoadFromStream(memStream); Image1.Picture.Assign(jpg); end; finally jpg.free; end; finally memStream.free; end; end;
Jangan lupa untuk menyertakan unit jpeg dalam clausa uses.
Selamat mencoba …