Bagaimana MengInsert gambar kedalam Table dan menampilkan kembali ke PictureBox

Posted by dragon on Monday, 21 June 2010

Ini adalah artikel pertama di awal tahun 2009 M/1430 H. sebenarnya udah lama sich mau posting artikel ini, tapi ada kendala sedikit, tapi Alhamdulillah hari ini artikel ini bisa release.
Artikel ini membahas bagaimana membuat program untuk memasukkan gambar ke database dan bagaimana menampilkan file gambar tersebut kedalam picture box.. Pada artikel ini saya menggunakan Vb 2008 express dengan database SQL 2008 express. Tapi ini bisa di gunakan untuk versi-versi sebelumnya.


Tahap pertama adalah dengan membuat form seperti gambar diatas, dan jangan lupa tambahkan 4 button, 1 textbox, OpenfileDialog dan Picturebox.
Di asumsikan kita memiliki table dengan nama TbPic dengan field (ID dan Pic). Sekarang kita masuk ke coding.
Untuk menampilkan file gambar kedalam Picture box ikuti sintaks berikut.
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
Ikuti sintaks dibawah untuk memasukkan gambar kedalam table.
Try
Dim ms As New System.IO.MemoryStream()
PicBox.Image.Save(ms, PicBox.Image.RawFormat)
Dim CPic() As Byte = ms.GetBuffer
ms.Close()

Dim MyConnection As AccessData.DataBaseConnection = New AccessData.DataBaseConnection

Dim myCommand As SqlCommand = New SqlCommand("Insert Into TbPic (ID,Pic) values (@ID,@Pic)", MyConnection.open)

myCommand.CommandType = CommandType.Text

Dim parameterID As SqlParameter = New SqlParameter("@ID", SqlDbType.VarChar)
parameterID.Value = "1"

Dim parameterPic As SqlParameter = New SqlParameter("@Pic", SqlDbType.Image)
parameterPic.Value = CPic
With myCommand.Parameters
.Add(parameterID)
.Add(parameterPic)
End With
Dim result As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)


Catch ex As Exception
MsgBox(ex.Message)
Finally
MyConnection.close()
End Try

Lalu bagaimana caranya untuk menampilkan kembali tersebut ke dalam picture box. Berikut sintaks nya
Try
Dim arr() As Byte

objCommand = MyConnection.open.CreateCommand
objCommand.CommandText = ("select Pic from TbPic;")
objdatareader = objCommand.ExecuteReader
objdatareader.Read()
arr = objdatareader.Item("Pic")
PicBox.Image = Image.FromStream(New IO.MemoryStream(arr))
Catch ex As Exception
MsgBox(ex.Message)
Finally
MyConnection.close()
End Try
Mudah-mudahan artikel ini dapat membantu rekan-rekan yang request maupun tidak tentang artikel ini..
Wassalam

{ 0 comments... read them below or add one }

Post a Comment