Jumat, 13 November 2009

Menyimpan gambar kedalam database MS SQL Server

Referensi by Eko Indriyawan


Tujuan
Mengajarkan kepada programmer pemula untuk menyimpan data gambar kedalam database MS SQL Server.


Overview
Anda sebagai programmer pemula akan diajarkan tentang bagaimana menyimpan data gambar kedalam database MS Access. Tentu saja contoh dalam pembahasan artikel ini masihlah sangat sederhana. Sehingga diharapkan dengan adanya contoh artikel ini anda bisa mengembangkan program lain yang lebih kompleks.
Sebagai contoh dari penerapan artikel ini, silahkan buat program aplikasi untuk sistem informasi siswa sekolah. Didalam program tersebut, data dari masing – masing siswa dilengkapi dengan foto. Sehingga nantinya ketika mengakses data dari siswa yang bersangkutan, seorang guru dapat memastikan apakah data itu cocok dengan foto atau tidak. Selamat mencoba ya…
Kembali ke pokok pembahasan artikel ini, di dalam materi kali ini anda akan dituntun untuk menyimpan data gambar dengan extention bmp dan JPEG. Dan untuk extention yang lain anda bisa kembangkan sendiri dengan mengacu petunjuk yang sudah diberikan.
Mungkin beberapa teman masih mengalami kendala dengan menggunakan object TImageuntuk bisa menampung semua class dari semua gambar. Diharapkan dengan contoh program ini bisa memberikan dasar bagaimana untuk bisa mengelola semua jenis gambar sehingga aplikasi kita bisa dinamis.
Karena ini dibuat dengan menggunakan Delphi 2007 dan sistem operasi Windows Vista Ultimateserta Office 2007, maka jika anda menggunakan versi yang lain anda tidak perlu khawatir. Karena secara umum isi dari tampilannya masih sama.
Selamat mencoba artikel ini dan semoga berhasil. Amin…


Tambahan
Ketika awal artikel ini dipublikasikan, ternyata ada beberapa kesalahan penyajian. Namun semua itu sudah diedit atau diperbaharui letak kesalahannya.
Kesalahan yang pertama adalah undeclared identifier : TJpegImage’
Solusi dari permasalahan ini adalah anda harus menambahkan library jpeg kedalam uses. Untuk lebih jelasnya silahkan anda lihat potongan kode program dibawah ini.
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg;
Kesalahan yang kedua adalah pada artikel sebelumnya di langkah 2 anda disuruh untuk mendeklarasikan beberapa object seperti berikut.
ADOQuery2ID: TAutoIncField;
ADOQuery2Nama: TWideStringField;
ADOQuery2JenisKelamin: TWideStringField;
ADOQuery2Foto: TBlobField;
Object – object tersebut adalah object yang terbentuk atau tergenerate setelah kita melakukan proses pada langkah 14 ( mengacu pada artikel sebelum diedit ), yaitu tepatnya setelah anda menekan tombol Ctrl + F.
Solusi dari permasalahan yang kedua diatas adalah hapus terlebih dahulu deklarasi object tersebut.
Nah, sekarang setiap langkah dari petunjuk pembahasan artikel ini sudah diedit, dan silahkan anda mencobanya sekali lagi. Semoga berhasil.


Petunjuk :
Silahkan anda ikuti langkah – langkah berikut ini dengan pelan – pelan agar bisa berjalan dengan lancar sesuai dengan petunjuk yang sudah diberikan.


Langkah 1


Langkah 2
Tambahkan beberapa object kedalam Form.



Image1: TImage;
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
Button3: TButton;
Image2: TImage;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
Label1: TLabel;
ComboBox1: TComboBox;
Label2: TLabel;
Button4: TButton;
OpenPictureDialog1: TOpenPictureDialog;


Langkah 3
Atur desainnya seperti berikut ditampilkan pada gambar form dibawah ini



umum0044.jpg


Langkah 4


Langkah 5
Tambahkan library jpeg kedalam bagian uses. Untuk lebih jelasnya silahkan anda lihat potongan kode program dibawah ini.



uses Dialogs, StdCtrls, ExtCtrls, DB, ADODB, ExtDlgs, jpeg;


Langkah 6
Tuliskan kode program didalam event OnClick pada tombol Pilih Gambar. Untuk lebih jelasnya silahkan anda lihat potongan kode program dibawah ini.



procedure TForm1.Button4Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
begin
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;
end;


Langkah 7
Setelah itu pada bagian property SQL pada object ADOQuery1 isikan kode query seperti berikut



INSERT INTO [Data Contoh]
(
Nama,
[Jenis Kelamin],
Foto
)
VALUES
(
:Nama,
:JenisKelamin,
:Foto
)


Langkah 8
Kemudian klik 2x pada bagian property Parameters pada object ADOQuery1.


Langkah 9
Tunggu beberapa saat hingga muncul kotak dialoq seperti terlihat pada gambar dibawah ini



umum0045.jpg


Langkah 10
Setelah itu pada bagian property SQL pada object ADOQuery2 isikan kode query seperti berikut



SELECT *
FROM [Data Contoh]
WHERE [Nama] = :Nama
AND [Jenis Kelamin] = :JenisKelamin


Langkah 11
Kemudian klik 2x pada bagian property Parameters pada object ADOQuery2.


Langkah 12
Tunggu beberapa saat hingga muncul kotak dialoq seperti terlihat pada gambar dibawah ini.



umum0046.jpg


Langkah 13
Klik 2x pada object ADOQuery2.


Langkah 14
Tunggu beberapa saat hingga muncul kotak dialog seperti berikut



umum0047.jpg


Langkah 15
Tekan tombol shortcut Ctrl + F


Langkah 16
Tunggu beberapa saat lagi hingga didapatkan tampilan gambar seperti berikut.



umum0048.jpg



Bersamaan dengan proses generate field seperti terlihat pada gambar diatas, pastikan bahwa dalam program anda sudah terdeklarasikan object – object seperti berikut ini.



Button4: TButton;
OpenPictureDialog1: TOpenPictureDialog;
ADOQuery2ID: TAutoIncField;
ADOQuery2Nama: TWideStringField;
ADOQuery2JenisKelamin: TWideStringField;
ADOQuery2Foto: TBlobField;
procedure Button3Click(Sender: TObject);


Langkah 17
Nah, saatnya kita lanjutkan penulisan kode lagi. Silahkan anda tentukan kode program didalam event OnClick pada tombol Simpan. Untuk lebih jelasnya silahkan anda lihat potongan kode program dibawah ini.



procedure TForm1.Button1Click(Sender: TObject);
var
// deklarasi stream
Foto : TMemorystream;
begin
// buat stream
Foto := TMemorystream.Create;
// menampilkan gambar ke image1
Image1.Picture.Graphic.SaveToStream(Foto);
// menyimpan data ke tabel
ADOQuery1.Parameters[0].Value := Edit1.Text;
ADOQuery1.Parameters[1].Value := ComboBox1.Text;
ADOQuery1.Parameters[2].LoadFromStream(Foto,ftBlob);
ADOQuery1.ExecSQL;
end;


Langkah 18
Setelah itu, lanjutkan dengan menuliskan kode program didalam event OnClick pada tombol Tampilkan. Untuk lebih jelasnya silahkan anda lihat potongan kode program dibawah ini.



procedure TForm1.Button2Click(Sender: TObject);
var
// deklarasikan stream
Stream : TADOBlobStream;
// deklarasikan temporary gambar
GambarJpeg : TJpegImage;
GambarBmp : TBitmap;
// deklarasikan buffer
Buffer : Word;
begin
// buat object temporary gambar
GambarJpeg := TJpegImage.Create;
GambarBmp := TBitmap.Create;
// ambil data dari tabel
ADOQuery2.Parameters[0].Value := Edit1.Text;
ADOQuery2.Parameters[1].Value := ComboBox1.Text;
ADOQuery2.Close;
ADOQuery2.Open;
// pemasukan data ke stream
Stream := TADOBlobStream.Create(ADOQuery2Foto,bmRead);
// identifikasi buffer yang merepresentasikan sebagai class gambar
Stream.Read(Buffer,SizeOf(Buffer));
Stream.Position := 0;
// jika gambar merupakan class JPEG
if Buffer = $D8FF then
begin
GambarJpeg.LoadFromStream(Stream);
Image2.Picture.Graphic := GambarJpeg;
end
// jika gambar merupakan class bmp
else if Buffer = $4D42 then
begin
GambarBmp.LoadFromStream(Stream);
Image2.Picture.Bitmap := GambarBmp;
end;
end;


Langkah 19
Tekan tombol Ctrl + F9 untuk mengecek apakah ada error atau tidak.


Langkah 20
Lanjutkan dengan menekan tombol F9.


Langkah 21
Setelah itu, tunggu beberapa saat hingga program siap untuk dijalankan.


Langkah 22
Tekan tombol Pilih Gambar jika anda ingin memilih gambar yang lain.


Langkah 23
Lanjutkan dengan menekan tombol Simpan.



umum0049.jpg


Langkah 24
Setelah itu, jika anda ingin menampilkan datanya, anda tinggal menekan tombol Tampilkan.



umum0050.jpg


Langkah 25
Apabila program berhasil, maka akan muncul tampilan seperti gambar diatas.


Langkah 26
Program sudah selesai anda buat. Sekarang silahkan anda tekan tombol Keluar
Semoga artikel ini bisa bermanfaat. Silahkan anda berikan informasi ini kepada teman – teman anda yang belum tahu.
Mari kita wujudkan kemajuan IT Indonesia bersama dengan teman – teman yang lain dengan Delphi sebagai media pemupuk kebersamaan.


Download
Silahkan anda download link diatas untuk mendapatkan contoh program aplikasi secara lengkap.
Ada beberapa masukan dan keluhan dari teman – teman, bahwa ada beberapa program contoh tidak bisa dijalankan dari delphi 7. Hal ini dikarenakan program contoh dibuat dengan menggunakan Delphi 2007 for win32.
Apabila anda menggunakan D7, sebaiknya anda mengikuti pandauan dari langkah – langkah yang sudah diberikan.
Atas perhatiannya, saya mengucapkan banyak terimakasih.


Link
MS Access – Membuat Koneksi
◄ Newer Post Older Post ►