Create new VB.NET project and add the following namespaces

Imports System.Data.SqlClient
Imports System.IO

Create a SQL table with the following parameters:

Field Name Field Type
name nvarchar(50)
photo Image

The following code will convert Image into binary data:

Dim sql As String = "INSERT INTO Information VALUES(@name,@photo)"
            Dim cmd As New SqlCommand(sql, con)
            cmd.Parameters.AddWithValue("@name", TextBox1.Text)
            Dim ms As New MemoryStream()
            PictureBox1.BackgroundImage.Save(ms, PictureBox1.BackgroundImage.RawFormat)
            Dim data As Byte() = ms.GetBuffer()
            Dim p As New SqlParameter("@photo", SqlDbType.Image)
            p.Value = data
            cmd.Parameters.Add(p)
            cmd.ExecuteNonQuery()
            MessageBox.Show("Name & Image has been saved", "Save", MessageBoxButtons.OK)
            Label1.Visible = False
            TextBox1.Visible = False

To get the image from the database:

Private Sub DataGridView1_CellMouseClick(ByVal sender As Object, ByVal e As _
                System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseClick
        cmd = New SqlCommand("select photo from Information where name='" & _
                  DataGridView1.CurrentRow.Cells(0).Value() & "'", con)
        Dim imageData As Byte() = DirectCast(cmd.ExecuteScalar(), Byte())
        If Not imageData Is Nothing Then
            Using ms As New MemoryStream(imageData, 0, imageData.Length)
                ms.Write(imageData, 0, imageData.Length)
                PictureBox1.BackgroundImage = Image.FromStream(ms, True)
            End Using
        End If
        GroupBox2.SendToBack()
        GroupBox2.Visible = False
        Label1.Visible = True
        Label1.Text = DataGridView1.CurrentRow.Cells(0).Value()
    End Sub

 

https://www.codeproject.com/Articles/437937/Save-and-Retrieve-Image-from-a-SQL-Server-Database

Categorized in:

VB.NET, Programming,

Last Update: May 18, 2024