Storing and retrieving Images from Access database using VB.Net
Introduction
This is a simple code snippet which is used to store and retrieve images from Access database using VB.net.
Code
Private Sub ShowDetails()
Try
Dim cn As New OleDb.OleDbConnection
Dim cmd As OleDb.OleDbCommand
Dim dr As OleDb.OleDbDataReader
cn.ConnectionString = mstrConnection
cn.Open()
cmd = cn.CreateCommand()
cmd.CommandText = "SELECT I_Image FROM tblImage WHERE I_Name = '" & cbI_Name.Text & "'"
dr = cmd.ExecuteReader
If dr.Read Then
Dim bytImage() As Byte
Try
bytImage = CType(dr(0), Byte())
Dim ms As New System.IO.MemoryStream(bytImage)
Dim bmImage As New Bitmap(ms)
ms.Close()
pbI_Image.Image = bmImage
pbI_Image.Refresh()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End If
dr.Close()
cn.Close()
cmd.Dispose()
cn.Dispose()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Private Sub SaveData()
Try
Dim cn As New OleDb.OleDbConnection
Dim cmd As OleDb.OleDbCommand
cn.ConnectionString = mstrConnection
cn.Open()
cmd = cn.CreateCommand()
If mstrFlag = "N" Then
cmd.CommandText = "INSERT INTO tblImage VALUES (@I_Name, @I_Image)"
ElseIf mstrFlag = "M" Then
cmd.CommandText = "UPDATE tblImage SET I_Name = @I_Name, I_Image = @I_Image WHERE I_Name = '" & cbI_Name.Tag.ToString & "'"
End If
Dim bytImage() As Byte
Try
Dim ms As New System.IO.MemoryStream
Dim bmpImage As New Bitmap(pbI_Image.Image)
bmpImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)
bytImage = ms.ToArray()
ms.Close()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
cmd.Parameters.Add(New OleDb.OleDbParameter("@I_Name", OleDb.OleDbType.VarChar, 120))
cmd.Parameters.Add(New OleDb.OleDbParameter("@I_Image", OleDb.OleDbType.Binary))
cmd.Parameters("@I_Name").Value = cbI_Name.Text
cmd.Parameters("@I_Image").Value = bytImage
If cmd.ExecuteNonQuery() > 0 Then
MsgBox("Record has been " & IIf(mstrFlag = "N", "added", "modified").ToString & " successfully.", MsgBoxStyle.Information)
End If
cmd.Dispose()
cn.Dispose()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
FillData()
End Sub
Thank you very much…
The given code helps me a lot..
I checked it..and it was successfully run..
thanks again!