Assalamu'alaikum Sehat selalu buat kita semua ya aaaaammmiiiin...
Masih seputar Delphi ni, belum bisa move on dari postingan sebelumnya kali ini ane mau sharing cara simpan file image/gambar ke dalam database MySql, klo biasanya kita save image ke dalam folder tertentu tetapi ini jadi kendala saat membuat installer project delphi ane harus ngerubah script folder tempat simpan image nah dari pada 2x kerja jadi mending di simpan aja ke dalam database, yg pasti ukuran database nya jadi lebih besar dari biasanya.
Persiapan Database
silahkan teman-teman buat database sendiri atau bisa menambahkan field baru untuk simpan gambar, berikut contoh nya :
Mulai Project dengan Delphi
NB. Untuk Nama dari setiap komponen silahkan sesuaikan sendiri ya digambar hanya sekedar contoh saja.
Komponen yg di gunakan :
- 3 buah [editbox] : Nama, Alamat dan No Telp
- 6 buah [button] : Add, Cancel, Save, Delete, Close dan Open
- 1 buah [image] : setting Stretch menjadi True agar gambar mengikuti ukuran komponen
- 1 buah dbgrid : setting Read Only menjadi True
- 1 buah open dialog (disini saya menggunakan devexpress untuk komponennya)
Komponen untuk konek ke database
- TFDConnection (FireDac Komponen)
- TFQuery (FireDac Komponen)
- Data Source : Setting Properties Datasourcenya ke DS1 (sesuaikan dengan nama yg kalian buat)
Oke siap, sekarang pastikan komponen sudah semua dan tinggal ke bagian kodingnya lagi.
Script
//Script untuk simpan data ke database
procedure TForm1.bsimpanClick(Sender: TObject);
var
stream : tmemorystream;
begin
stream := tmemorystream.Create;
image1.Picture.Graphic.SaveToStream(stream);
stream.Position := 0;
q1.Append;
q1.FieldByName('nama').AsString := edit1.Text;
q1.FieldByName('alamat').AsString := edit2.Text;
q1.FieldByName('notlp').AsString := edit3.Text;
tblobfield(q1.fieldbyname('foto')).LoadFromStream(stream);
stream.Free;
q1.Post;
if messageDLg('Tambah Data?',mtConfirmation,[Mbyes,MBno],0)=Mryes then
begin
kosongkan;
edit1.SetFocus;
end;
end;
//Script untuk Hapus Data
procedure TForm1.bhapusClick(Sender: TObject);
begin
if messageDlg('Apakah yakin data '+
''+q1.FieldByName('nama').AsString+' akan dihapus?',MTConfirmation,[MByes,MBno],0)=mrYes then
begin
q1.Delete;
kosongkan;
end;
end;
// Script Panggil data jika dbgrid di klik
procedure TForm1.DBGrid1CellClick(Column: TColumn);
var
stream : tmemorystream;
xjp: TJpegImage;
begin
xjp := TJpegImage.Create;
stream := tmemorystream.Create;
tblobfield(Q1.FieldByName('foto')).SaveToStream(stream);
stream.position := 0;
xjp.LoadFromStream(stream);
image1.Picture.Graphic := xjp;
Edit1.Text := Q1.FieldByName('nama').AsString;
Edit2.Text := Q1.FieldByName('alamat').AsString;
Edit3.Text := Q1.FieldByName('notlp').AsString;
end;
// Script Button Open
procedure TForm1.btnopenClick(Sender: TObject);
begin
if dxopen.Execute then
begin
image1.Picture.LoadFromFile(dxopen.FileName);
end;
end;
// Script Kosongkan edit text
procedure TForm1.kosongkan;
var
i:integer;
begin
for i := 0 to ComponentCount -1 do
begin
if (Components[i] is TEdit) and (TEdit(Components[i]).Tag = 0) then
Tedit(Components[i]).Text :=''
end;
image1.Picture := nil;
end;
Sekarang coba teman teman Run Project nya...semoga berhasil yaps
Post a Comment for "Simpan Gambar ke Database MySql dengan Delphi RAD Studio"