Arsip: Image JPG di MySQL


by kaka-delphi in Articles more 14 years ago 8141
Dikarenakan seringnya ada thread yang menanyakan bagaimana cara memasukkan / menyimpan dan menampilkan data image (*.jpg) ke MySQL,
maka dengan ini saya membuat suatu tip dan trik tersebut. Untuk selanjutnya kita ikuti langkah berikut :
1. Pertama siapkan database MySQL (saya menggunakan versi 4.0.18) serta tablenya dengan field bertipe BLOB (mau BLOB, MEDIUMBLOB, atau LONGBLOB [asal jangan SpongeBob heheheheee... :D :D :D]). Untuk langkah ini anda dapat menggunakan skrip berikut :
CREATE TABLE gambar (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
image LONGBLOB NOT NULL,
PRIMARY KEY(id)
Syntax Highlighted with https://pascal-id.org/syntax


2. Buat aplikasi dengan komponen yang bisa membuat koneksi ke MySQL (disini saya menggunakan Zeos [bukan promosi lho]).
Set koneksinya dan sisipkan komponen Table. Isi Property 'TableName' pada komponen Table ke tabel 'gambar', dan aktifkan.

3. Tambahkan komponen TDataSource dan set properties 'DataSet' - nya ke komponen Table.

4. Tambahkan komponen DBNavigator untuk bernavigasi. Set property VisibleButtons pada nbInsert, nbDelete, nbEdit, nbPost, nbCancel, nbRefresh = false, karena kita disini hanya butuh untuk bernavigasi.

5. Klik ganda pada komponen table, dan klik kanan pada 'Field List Editor' dan pilih 'Add all field' atau Ctrl+F.

6. Tambahkan komponen TOpenPictureDialog untuk memudahkan dalam pencarian gambar JPG. Aturlah Property 'Filter' - nya supaya file yang di support hanya untuk file JPG.

7. Tambahkan komponen TImage dan atur posisi dan propertiesnya sesuai sengan keinginan anda.

8. Tambahkan komponen TButton untuk mengeksekusi TOpenPictureDialog dan set Captionnya dengan 'Cari Gambar'.

9. Buat fungsi yang akan menyimpan data gambar (.jpg) ke tabel dengan skrip berikut :
...
private
{ Private declarations }
procedure TampilkanGambarJPG(img: TImage);
public
{ Public declarations }
end;
...
implementation
{$R  .dfm}
uses Jpeg;
procedure TForm1.TampilkanGambarJPG(img: TImage);
var
Jpg: TJpegImage;
Ms : TMemoryStream;
begin
Jpg := TJpegImage.Create;
Ms  := TMemoryStream.Create;
Table1image.SaveToStream(Ms);
Ms.Position := 0;
Jpg.LoadFromStream(Ms);
{ Tampilkan gambar dr tabel ke Image1  }
img.Picture.Graphic := Jpg;
Jpg.Free;
Ms.Free;
end;
Syntax Highlighted with https://pascal-id.org/syntax
9. Klik ganda pada komponen TButton dan sisipkan skrip berikut :
  if OpenPictureDialog1.Execute then
begin
Table1.Append;
Table1image.LoadFromFile(OpenPictureDialog1.FileName);
Table1.Post;
end;
Syntax Highlighted with https://pascal-id.org/syntax


10.Pada event OnDataChange pada komponen TDataSource, sisipkan fungsi untuk menampilkan gambar yang telah dibuat. Skripnya adalah sebagai berikut :
  TampilkanGambarJPG(Image1);
Syntax Highlighted with https://pascal-id.org/syntax


11.Coba aplikasi anda jalankan Apabila anda telah mengikuti langkah-langkah tersebut, maka anda telah berhasil membuat aplikasi yang dapat menyimpan serta menampilkan file gambar JPG dengan menggunakan database MySQL. Contoh source code dari aplikasi ini, dapat anda donwload di Public Folder dengan nama JPGMySQL.rar. Ingat!!! disini saya memakai komponen Zeos untuk koneksi ke MySQL. Anda dapat menggantinya dengan komponen kesayangan anda. Hint: Sebenarnya trik tersebut bisa di terapkan pada database apapun, asalkan field dari tabelnya bertipe BLOB. Sekian untuk tip's & trik's kali ini, sampai jumpa lagi di artikel selanjutnya dan Tetap Semangat !!!
Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com