Images

Delphi : Tutorial menyimpan gambar kedalam database SQL

Berikut ini akan saya share cara menyimpan gambar kedalam database RDBMS yg support SQL, ingat tutorial ini menyimpan langsung kedalam database bukan direktori gambar.



Oke untuk menyikap waktu kita siapkan terlebih dahulu table serta field-fieldnya di database yang kita gunakan untuk menyimpan gambar.

dalam kasus ini saya menggunakan RDBMS MySql, Buat terlebih dahulu databasenya
Database name : db_Gallery
Table name : Gallery
Field name : Nama, tipe : Varchar,  Length : 15
Filed name : Foto, tipe : Long Blob, Null ( Bisa juga pakai blob saja, dan ingat pakai null jika dikasus lain foto tidak diwajibkan di isi)

dalam Tutorial ini saya menggunakan Komponen koneksi menggunakan zeos untuk menghubungkan ke database,

1. kita buat button untuk mengload file gambar, kita menggukan 1 button, 1 komponen Image dan 1 opendialog
atur properti opendialog terlebih dahulu jadi defaultext : Jpg, Filter : Jpg|*.jpg ( ini untuk mengfilter file gambar jpg saja yg akan di tampilkan)

2. Code untuk mencari gambar dengan memanfaatkan opendialog
procedure TForm1.Button1Click(Sender: TObject);
begin
if opendialog1.Execute then
begin
image1.Picture.LoadFromFile(opendialog1.FileName);
end;
end;
3. Sebelum lanjut ke coding Simpan, tambahkan terlebih dahulu var stream : tmemorystream; dibawah procedure button simpan, berikut koding untuk menyimpan

procedure TForm1.Button2Click(Sender: TObject);
var stream : tmemorystream;
begin
stream := tmemorystream.Create;
image1.Picture.Graphic.SaveToStream(stream);
stream.Position := 0;
ZQuery1.Append;
ZQuery1.FieldByName('nama').AsString := edit1.text;
tblobfield(ZQuery1.fieldbyname('foto')).LoadFromStream(stream);
stream.Free;
ZQuery1.Post;
end;
4. untuk menampilkan gambar yang disimpan, kita manfaatkan komponen dbgrid, sebelumnya tambahkan uses Jpeg, dan var stream : tmemorystream; dan Jpg: TJpegImage; di procedure dbgrid cell click
procedure TForm1.DBGrid1CellClick(Column: TColumn);
var stream : tmemorystream;
Jpg: TJpegImage;
begin
Jpg := TJpegImage.Create;
stream := tmemorystream.Create;
tblobfield(ZQuery1.FieldByName('foto')).SaveToStream(stream);
stream.position := 0;
Jpg.LoadFromStream(stream);
image1.Picture.Graphic := Jpg;
Edit1.Text := ZQuery1.FieldByName('nama').AsString;
end;

Sekian tutorial dari saya mengenai menyimpan gambar kedalam database SQL
Source code, Exe dan Sql nya bisa download disini : Download

2 komentar:

  1. Alhamdulillah, ini sangat membantu dan bermanfaat buat saya dan client saya, semoga pahala selalu mengalir buat saudara Risman Arisandy, amiin..

    BalasHapus
  2. cuma bisa jpeg saja ya gambarnya
    type png,bitmap tidak bisa
    ada solusi kah

    BalasHapus