Visual Basic.net -Saving image path to an Access database

December 2016




Issue


I need a a program to save the image path to my Access database. How can this be achieved?

Solution


This application has an Open Button which will help you open any picture file to a PictureBox on the form using OpenFileDialog. You will see the path of the picture file in a disabled TextBox. When you click the update button the Picture's path is saved to an Access Database.

Follow the steps below to create a similar project for yourself:
  • Create a new Visual Basic.net project. Select Windows Forms Application from New Project Dialog Box. Name this application as mikeoe2003PictureApplication.
  • Create the following with below mentioned properties:
    • Form - (Name): mikeoe2003PictureApplication, Text: FormPictureApplication
    • PictureBox - (Name): PictureBox1, SizeMode: StretchImage
    • Button - (Name): ButtonUpdate, Text: &Update
    • Button - (Name): ButtonOpen, Text: &Open
  • TextBoxt - (Name): TextBoxPictureFilePath, Enabled: False
  • Double Click the Form, insert the following code right above Public Class mikeoe2003PictureApplication:


Imports System.Data.OleDb 
Imports System.IO 
Imports Microsoft.Win32 

Double Click ButtonOpen and insert the following code: 

Dim img As String 

Dim myStream As Stream = Nothing 
Dim openFileDialog1 As New OpenFileDialog() 

openFileDialog1.InitialDirectory = "c:\" 
openFileDialog1.Filter = Nothing 
openFileDialog1.FilterIndex = 2 
openFileDialog1.RestoreDirectory = True 
openFileDialog1.FileName = "" 

If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then 
Try 
myStream = openFileDialog1.OpenFile() 
If (myStream IsNot Nothing) Then 

TextBoxPictureFilePath.Text = "" 

img = openFileDialog1.FileName 
PictureBox1.Image = System.Drawing.Bitmap.FromFile(img) 

TextBoxPictureFilePath.Text = openFileDialog1.FileName 

End If 
Catch Ex As Exception 
MessageBox.Show("Cannot read file from disk. Original error: " & Ex.Message) 
Finally 
If (myStream IsNot Nothing) Then 
myStream.Close() 
End If 
End Try 
End If 
  • Create a Microsoft Access Database in your convenient location and name it as Databasemikeoe2003PictureApplication.mdb
  • Create a table with the name Tablemikeoe2003PictureApplication and add following Columns to it:


Id - Datatype: Autonumber 
PicturePath - DataType: Memo (as file paths can be considerably long at times) 
  • Double Click the UpdateButton and insert the following code:


Try
Dim myConnection As OleDbConnection 
Dim myCommand As OleDbCommand 
Dim mySQLString As String 
myConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Databasemikeoe2003PictureApplication.mdb;") 
myConnection.Open() 
mySQLString = "INSERT INTO Tablemikeoe2003PictureApplication (PicturePath) VALUES('" & Replace$(TextBoxPictureFilePath.Text, "'", "''") & "')" 
myCommand = New OleDbCommand(mySQLString, myConnection) 
myCommand.ExecuteNonQuery() 

PictureBox1.Image = Nothing 
TextBoxPictureFilePath.Text = "" 

Catch ex As Exception 
MessageBox.Show(ex.Message & " - " & ex.Source) 
End Try 
  • Run the application, it should work as desired.



Thanks to Zohaib R for this tip on the Forum.

Related :

This document entitled « Visual Basic.net -Saving image path to an Access database  » from CCM (ccm.net) is made available under the Creative Commons license. You can copy, modify copies of this page, under the conditions stipulated by the license, as this note appears clearly.