English French German Spain Italian Dutch

Russian Portuguese Japanese Korean Arabic Chinese Simplified

06 April 2010

Simpan Gambar Menggunakan SQL Server dan VB NET 2005

kali ini saya coba mengulas pertanyaan rekan-rekan mengenai penyimpanan gambar ke dalam database SQL Server 2005 menggunakan VB NET 2005.

pada pembahasan kali ini skenarionya adalah bagaimana membuat program untuk menyimpan gambar ke dalam database dan ditampilkan lagi ke dalam picturebox, sebelumnya maaf saya belum mengupload contoh programnya tapi syntaxnya akan saya share dulu

cara memulainya bagaimana?
yang pertama kali di lakukan adalah membuat table pada database SQL Server 2005 anda dan diasumsikan bahwa telah ada table yang menampung gambar dengan type sebagai berikut :
nama table adalah tblSavePic dengan isian kolom id, dan pic

setelah membuat table lalu apa?
setalah kita membuat table melakukan coding dengan syntax sebagai berikut untuk memilih gambar :
drag dan drop komponen OpenFileDialog dan renanme menjadi OFD

OFD.Filter = "Image Files (*.jpg, *.bmp, *.gif, *.png)*.jpg; *.bmp; *.gif; *.png"
OFD.ShowDialog()
txtFileName.Text = OFD.FileName
txtFileName.SelectionStart = txtFileName.Text.Length
If Trim(txtFileName.Text) <> "" Then
PicBox.Image = Image.FromFile(txtFileName.Text)
End If

koneksinya perlu di inisialisasi?
tentu perlu dengan syntax seperti berikut :

Imports Systems.Data.SqlClient

Dim xkoneksi as new SqlConnection
Dim xcomm as new SqlCommand

xkoneksi.ConnectionString="Data Source=[Nama Server];Initial Catalog=[Nama Database];Integrated Security=true"

xkoneksi.open

lalu setelah memilih gambar setelah itu apa?
ok sabar lalu yang dilakukan berikutnya adalah menyimpan gambar yang kita pilih ke dalam table yang ada pada database ikuti syntax seperti berikut :

Try
Dim ms As New System.IO.MemoryStream()
PicBox.Image.Save(ms, PicBox.Image.RawFormat)
Dim CPic() As Byte = ms.GetBuffer
ms.Close()

Dim query as String
query="Insert into tblSavePic values (" & _
"'" & txtID.Text & "'" & _
",'" & CPic & "')"

xcomm.CommandText = query
xcomm.Connection = xkoneksi
xcomm.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message & ex.StrackTrace & ex.Source)
Finally
xkoneksi.close()
End Try

lalu bagaimana menampilkan kembali?
ok untuk menampilkan kembali adalah dengan syntax sebagai berikut :
Try
Dim arr() As Byte
Dim xread as SqlDataReader

Dim query As String
query = "Select pic from tblSavePic where ID ='" & txtCari.Text & "%'" (Asumsi menggunakan txtCari sebagai pencarian)
xcomm.CommandText = query
xcomm.Connection = xkoneksi
xread = xcomm.ExecuteReader()
xread.Read()
arr = xread.Item("pic")
PicBox.Image = Image.FromStream(New IO.MemoryStream(arr))
Catch ex As Exception
MsgBox(ex.Message & ex.StrackTrace & ex.Source)
Finally
xkoneksi.close()
End Try

semoga artikel ini bermanfaat dan jika ada salah penulisan syntax mohon di koreksi dan selamat mencoba

5 komentar:

Anonim mengatakan...

Coding nya diketik pas event apa??

indra mengatakan...

Mantap gan...

Anonim mengatakan...

Mantep banged gan.. keep sharing ya, pahala berjalan :D

Anonim mengatakan...

apaan mantap? ga jalan tuh koding

Febrian mengatakan...

Gan pada event Save

Dim CPic() As Byte = ms.GetBuffer
ms.Close()

Dim query as String
query="Insert into tblSavePic values (" & _
"'" & txtID.Text & "'" & _
",'" & CPic & "')"

CPicnya ga bisa di gunakan kenapa tuh gan, mohon penjelasannya