[Archieve] Menyimpan & Membaca Gambar Dari Database Menggunakan C#.NET

Senin, Maret 17, 2008 | | Comments

Use : Microsoft SqlServer2000 & C#.NET VS2003

Tanggal 22 Juni - 22 Agustus 2006 aku Kerja Praktek disebuah perusahaan Developer Perumahan. Salah satu project software yang aku kerjain disana adalah membuat aplikasi Manajemen Data Karyawan. Salah satu komponen yang penting adalah foto karyawan yang disimpan ke database SQL Server.

Setelah buka ‘Kitab Suci’ MSDN seharian akhirnya aku menemukan jawabannya. Cukup simple sih caranya, intinya SQL Server sudah membuat sebuah tipe data untuk menyimpan gambar, datatypenya image dgn length default 16. Sayangnya SQL Server tidak menyediakan interface/antarmuka user untuk memasukkan data image ini. Jadi isinya sebenernya adalah data biner yang panjang banget dari sebuah image, padahal format image yg biasanya kita kenal misalnya gambar.jpg atau gambar.gif. Disinilah tugas C#.Net untuk membuat antarmuka viewer gambar untuk menampilkan atau menyimpan sebuah gambar.Teori ud kepanjangan, sekarang langsung praktek…

Tampilkan data foto dari database Simpan gambar ke database

Pertama-tama kita buat sebuah database baru di SQL Server. Boleh pakai Enterprise Manager, boleh juga pake Query Analyzer. Btw ini scriptnya untuk QA :

 


use pubs


create table PICTURE_DB


(


   pictureId int IDENTITY(1,1) NOT NULL,


   picture Image NOT NULL,


   CONSTRAINT [PK_Picture] PRIMARY KEY CLUSTERED (pictureId)


)





Aku pake “pubs” database bawaan SQL Server.Kalo mau bikin database sendiri juga boleh.Trus pictureId kubuat identity sehingga tidak perlu diisikan valuenya setiap kali insert data baru. Yang berlu kita insert hanyalah imagenya saja.



Database beres sekarang bikin aplikasi dengan C#.Net. Buat project dengan tipe Windows Application, save diharddisk.

Komponen yang pertama aku buat adalah TabControl,karena aku akan membagi fungsi program menjadi 2, yaitu menyimpan gambar ke Database dan menampilkan gambar dari database.Nama tabnya ‘Simpan’ dan ‘Tampil’.


Pada tab Simpan komponen yang dibuat :




Label;lblFilePath;set properties Textnya kosong : “”


PictureBox;pBoxSimpan


Button;btnSimpan;”Simpan”


Button;btnCari;”Cari”


Pada tab Tampil komponen yang dibuat :


PictureBox;pBoxTampil


ListBox;listBoxGambar


Button;btnTampil;”Tampil”


Button;btnRefresh;”Refresh List”




Untuk memilih gambar dari komputer kita gunakan objek


OpenFileDialog;dialogCari


keterangan format : Nama Komponen;Nama Objek;Text (untuk button)


Tampilan sudah oke, sekarang mulai mengcoding…(dari tampilan ‘View Code’)



Pertama-tama tambahkan 2 directive : using System.Data.SqlClient dan using System.IO.

Lalu kita buat juga sebuah objek lokal pada form yang nanti dipakai bersama. Objek tersebut adalah SqlConnection scon. Deklarasinya sbb :






 


SqlConnection scon=new SqlConnection("server=localhost;uid=sa;initial catalog=pubs");





konstruktornya kita isi dengan conn string dari database yang akan kita gunakan. Disini kita memakai server localhost, dengan userid : sa tanpa password,lalu databasenya : pubs, sesuai pembuatan tabel kita tadi.

Kode pertama untuk button btnCari :






 


private void btnCari_Click(object sender, System.EventArgs e)


{


      dialogCari.InitialDirectory = "C:\";


      dialogCari.Filter = "All Files|*.*|Bitmaps|*.bmp|GIFs|*.gif|JPEGs|*.jpg";


      dialogCari.FilterIndex = 2;


      if (dialogCari.ShowDialog() == DialogResult.OK )


      {


          pBoxSimpan.Image = Image.FromFile(dialogCari.FileName);


          pBoxSimpan.SizeMode = PictureBoxSizeMode.StretchImage;


          pBoxSimpan.BorderStyle = BorderStyle.Fixed3D;


          lblFilePath.Text = dialogCari.FileName;


      }


}





Penjelasan kode diatas adalah kita menggunakan objek OpenFileDialog dialogCari untuk mencari gambar dari harddisk komputer kita untuk kemudian ditampilkan ke PictureBox pBoxSimpan.Awal pencarian (InitialDirectory) mulai dari C:. Filter yang digunakan default adalah *.bmp. Dari hasil gambar yang dipilih kemudian ditampilkan ke pBoxSimpan. Lokasi Path dan nama file yang kita buka juga ditampilkan pada lblFilePath.



Untuk penjelasan Fungsi yang lain dan code selengkapnya silahkan download pada link dibawah. Kalo masih bingung silahkan kirim email ke antodoroki@gmail.com. Trus jangan lupa bikin dulu Tabelnya krn aku ga bikin error handling klo tabelnya ga di temukan.Error handling disini memang sangat minim karena ini hanya ditujukan untuk tutorial, jadi untuk alasan agar mudah dipahami maka kubuat sesimple mungkin.

Nanti bisa dikembangin sendiri..oche



Thanks to ‘Kitab Suci’ Digital MSDN



Download code pada link dibawah ini…Jangan lupa ganti ekstensinya dari .odt menjadi .zip kemudian silahkan di extract isinya.



Contoh Code dalam .NET2003 dan .NET2005..



source : antodoroki.wordpress.com




Technorati Tags: ,,