Retrieve Image from Database using DataGridView Click Event in VB.Net

Retrieve Image from Database using DataGridView Click Event in VB.Net

Retrieve Image from Database using DataGridView Click Event in VB.Net.

In this tutorial, you will learn how to retrieve images from your database by just pointing your mouse at a data grid view row.

Let’s assume that you have your own database with an image and its value in it. If you want to review about storing and retrieving images please take a look at this tutorial, Add and Retrieve Images in VB.Net.

Create a new project and name your project as you like.

Next, drag a datagridview and a pictureBox. Make sure to set your pictureBox size mode property to StretchImage. Here’s mine:

Retrieve Image from Database using DataGridView Click Event

Sample Database Columns

Retrieve Image from Database using DataGridView Click Event

Sample DataGridView and PictureBox.

Let’s first add a line of code where we will show only the ID values in the datagridview. Add this line of code to your Form1_Load or by just simply double-clicking your Form1 designer.

Importante Note: You should import Mysql.Data.dll to your project for you to access the mySQL keywords and methods.

Imports MySql.Data.MySqlClient
Public Class Form1

Dim conn As MySqlConnection
Dim cmd As MySqlCommand
Dim da As MySqlDataAdapter
Dim dt As DataTable
Dim sql As String
Dim rowIndex As Integer
Dim row As DataGridViewRow
Dim id As String
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
conn = New MySqlConnection
conn.ConnectionString = "server=localhost; userid=root; password=; database=retrieveimage;"
conn.Open()
sql = "SELECT ID FROM image;"
cmd = New MySqlCommand(sql, conn)
da = New MySqlDataAdapter
dt = New DataTable
da.SelectCommand = cmd
da.Fill(dt)
conn.Close()
DataGridView1.DataSource = dt
Catch ex As MySqlException
MsgBox(ex.Message)
Finally
conn.Close()
da.Dispose()
End Try
End Sub
End Class

 

Next, we are going to add a line of code to our datagridview cellclick event:

Private Sub DataGridView1_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
If e.RowIndex >= 0 Then
rowIndex = e.RowIndex
row = DataGridView1.Rows(rowIndex)
Try
id = row.Cells(0).Value.ToString()
conn = New MySqlConnection
conn.ConnectionString = "server=localhost; userid=root; password=; database=retrieveimage;"
conn.Open()
sql = "SELECT * FROM image WHERE ID = @ID;"
cmd = New MySqlCommand
With cmd
.Connection = conn
.CommandText = sql
.Parameters.Clear()
.Parameters.AddWithValue("@ID", id.ToString)
.ExecuteNonQuery()
End With
dt = New DataTable
da = New MySqlDataAdapter
da.SelectCommand = cmd
da.Fill(dt)
If dt.Rows.Count > 0 Then
arrImage = dt.Rows(0).Item(1)
Dim mstream As New System.IO.MemoryStream(arrImage)
PictureBox1.Image = Image.FromStream(mstream)
End If
Catch ex As MySqlException
MsgBox(ex.Message)
Finally
conn.Close()
da.Dispose()
End Try
End If
End Sub

 

After adding this line of code to your cellclick event. Run your system and try to select a value on your datagridview row. Here’s the result:

Congratulations! You have recently learned how to Retrieve Image from Database using DataGridView Click Event.

For questions or any other concerns or thesis/capstone creation with documentation, you can contact me through the following:

E-Mail: [email protected]

Facebook: facebook.com/kirk.lavapiez

Contact No.: +639771069640

To download the sample project, click here.

Ian Hero L. Lavapiez

BSIT Graduate

System Analyst and Developer

Related topic(s) that you may like:

Frequently Asked Questions

What does this VB.NET code snippet demonstrate?

Focused VB.NET WinForms code pattern: how to add, insert, save, search, display, print, connect to SQL Server, or perform a common calculation with minimum code. Drop-in pattern you can adapt for your own capstone module.

What Visual Studio and SQL Server versions does this VB.NET project require?

Most projects use VB.NET WinForms on .NET Framework 4.5+ with SQL Server 2012 Express or higher. To run: install Visual Studio 2019 / 2022 (Community is free) with the ‘Desktop development with .NET’ workload, install SQL Server Express + SSMS, open the .sln file, build, run.

How do I set up the database for this VB.NET project?

Open SQL Server Management Studio (SSMS) and connect to your SQL Server (e.g. localhost\SQLEXPRESS). Right-click Databases, choose Restore Database OR New Database then import the included .sql script. Update the connection string in App.config (or in code-behind Module) with your server name + credentials. Rebuild and run.

Can I use this VB.NET project for a BSIT capstone or thesis?

Yes, VB.NET is one of the most accepted languages by Philippine BSIT panels. Extend it: add role-based access (admin/staff/customer login redirect), Crystal Reports or RDLC reports, dashboards with Chart control, audit log, multi-branch support. Pair with Chapter 1-5 documentation matching your panel’s rubric.

Why am I getting ‘connection error’ or ‘cannot find SQL Server’?

Three common VB.NET issues: (1) Connection error: SQL Server isn’t running. Open SQL Server Configuration Manager and verify SQL Server (SQLEXPRESS) service is started. (2) Wrong server name in connection string. Try .\SQLEXPRESS, (local)\SQLEXPRESS, or your machine name. (3) Login failed: SQL Server is set to ‘Windows-only’ authentication. Switch to Mixed Mode in SSMS Server Properties, Security.

Where can I find more VB.NET projects with source code?

Browse the VB.NET Projects hub for the full library. For C# WinForms alternatives see C# Projects. For ASP.NET web alternatives see ASP.NET Projects. For BSIT capstone idea lists see 150 Best Capstone Project Ideas.

Leave a Comment