Save and Retrieve Image From Database Using VB.Net and MySQL

Save and Retrieve Image From Database Using VB.Net and MySQL

This article Save and Retrieve Image From Database Using VB.Net and MySQL is a continuation of our last topic called Save and Retrieve an Image in a Database Using Vb.Net, but this time we will be using MySQL database to store our data.

This tutorial can answer the questions asked from another site about how to insert and retrieve a picture from a MySQL database using vb.net.

 To do this application, follow the steps below:

Step 1: Create a Database in PHPMyAdmin

  • Database Name:  studentdb
  • then execute this query to create a new table tblstudent
CREATE TABLE `tblstudent` (
`studID` int(11) NOT NULL,
`FNAME` varchar(30) NOT NULL,
`LNAME` varchar(30) NOT NULL,
`COURSE` varchar(30) NOT NULL,
`YR` varchar(30) NOT NULL,
`AGE` varchar(30) NOT NULL,
`EMAIL` varchar(30) NOT NULL,
`STUDIMG` longblob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Step 2: Create a Visual Basic Project:

  • Create and save it as “Saveandrettriveimg”
  • Design the form like as shown below.
  • save image from database in vb.net Form Design
    save image from database in vb.net Form Design

Step 3: Adding Code:

  • Double the form, then Add the following code under “Public Class”
Dim conn As New MySqlConnection
Dim Myconnection As String = "server=localhost;user id=root;password=;database=studentdb"
Dim cmd As New MySqlCommand
Dim da As New MySqlDataAdapter
Dim result As Integer
Dim imgpath As String
Dim arrImage() As Byte
Dim sql As String

For “Browse Image” Button, Under Click Event:

Try
Dim OFD As FileDialog = New OpenFileDialog()

OFD.Filter = "Image File (*.jpg;*.bmp;*.gif)|*.jpg;*.bmp;*.gif"

If OFD.ShowDialog() = DialogResult.OK Then
imgpath = OFD.FileName
Pic1.ImageLocation = imgpath

End If

OFD = Nothing

Catch ex As Exception
MsgBox(ex.Message.ToString())
End Try

For “Save” Button, Under Click Event:

Try

Dim mstream As New System.IO.MemoryStream()
Pic1.Image.Save(mstream, System.Drawing.Imaging.ImageFormat.Jpeg)
arrImage = mstream.GetBuffer()
Dim FileSize As UInt32
FileSize = mstream.Length

mstream.Close()
conn.ConnectionString = Myconnection
conn.Open()
sql = "INSERT INTO tblstudent(FNAME,LNAME, COURSE, YR, AGE, EMAIL,studimg) VALUES (@FNAME, @LNAME, @COURSE, @YR, @AGE, @EMAIL,@studimg)"
cmd.Connection = conn
cmd.CommandText = sql
cmd.Parameters.AddWithValue("@FNAME", TXTFIRSTNAME.Text)
cmd.Parameters.AddWithValue("@LNAME", TXTLNAME.Text)
cmd.Parameters.AddWithValue("@COURSE", TXTCOURSE.Text)
cmd.Parameters.AddWithValue("@YR", TXTYR.Text)
cmd.Parameters.AddWithValue("@AGE", TXTAGE.Text)
cmd.Parameters.AddWithValue("@EMAIL", TXTEMAIL.Text)
cmd.Parameters.AddWithValue("@studimg", arrImage)
Dim r As Integer
r = cmd.ExecuteNonQuery()
If r > 0 Then
MsgBox("Student Record hass been Saved!")
Else
MsgBox("No record has been saved!")
End If
cmd.Parameters.Clear()
conn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

For “Search” Button, Under Click Event:

sql = "Select * from tblstudent where studID=" & Val(TextBox1.Text)
conn.ConnectionString = Myconnection
conn.Open()
With cmd
.Connection = conn
.CommandText = sql
End With
Dim arrImage() As Byte
Dim publictable As New DataTable
Try
da.SelectCommand = cmd
da.Fill(publictable)
TXTLNAME.Text = publictable.Rows(0).Item(2)
TXTFIRSTNAME.Text = publictable.Rows(0).Item(1)
TXTCOURSE.Text = publictable.Rows(0).Item(3)
TXTYR.Text = publictable.Rows(0).Item(4)
TXTAGE.Text = publictable.Rows(0).Item(5)
TXTEMAIL.Text = publictable.Rows(0).Item(6)
arrImage = publictable.Rows(0).Item(7)
Dim mstream As New System.IO.MemoryStream(arrImage)
Pic1.Image = Image.FromStream(mstream)
Catch ex As Exception
MsgBox(ex.Message)
Finally
da.Dispose()

conn.Close()

End Try

Step 4: Run Project

  • Press “F5”

Free VB.NET Resources

For More VB.NET Projects with source code, I listed it in this link.

If you want to know how to master vb.net with MySQL Database in 30 minutes, you can start your lesson here.

Or you can start your lesson here about the 5 Steps on How to Connect VB.Net in MySQL database.

Downloadable Source File

You can Download the Save and Retrieve Image From Database Using VB.Net and MySQL full Source Codesaveandretriveimagemysql

Inquiries

If you have any questions or suggestions about this tutorial on how to insert and display pictures from MySQL database in vb.net, please leave a comment below.

Help Us Grow

If you find this tutorial helpful please share this with your friends and to help us grow please hit the LIKE button on our Facebook Page. Thank You.

5 thoughts on “Save and Retrieve Image From Database Using VB.Net and MySQL”

  1. So grateful for your tutorial its so good. have been trying to save image but had become a real problem for days. l’me try this know it will work. I will get back to this site I know for another comment

Leave a Comment