Saving images in a database

Please let other users know how useful this tip is by rating it below. Do you have a tip or code of your own you'd like to share? Submit it here.

It's fairly easy to save an image in the database using .NET OleDB library. For simplicity, I have used MS Access database with two fields:

FieldName Type
Pic OLE Object
FileSize Text

The following code establishes a database connection and inserts a file in the "Pic" field.

Save the file as SaveImage.vb.

 Imports System Imports System.IO Imports System.Data Public Class SaveImage Shared Sub main() 'Declare a file stream object Dim o As System.IO.FileStream 'Declare a stream reader object Dim r As StreamReader Dim jpgFile As String Console.Write("Enter a Valid .JPG file path") jpgFile = Console.ReadLine If Dir(jpgFile) = "" Then Console.Write("Invalid File Path") Exit Sub End If 'Open the file o = New FileStream(jpgFile, FileMode.Open, FileAccess.Read, FileShare.Read) 'Read the output in a stream reader r = New StreamReader(o) Try 'Declare a byte array to save the content of the file to be saved Dim FileByteArray(o.Length - 1) As Byte o.Read(FileByteArray, 0, o.Length) 'Open the database connection. Please map the datasource name to match the 'Database path Dim Con As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=DbImages.mdb") Dim Sql As String = "INSERT INTO DbImages (Pic,FileSize) VALUES (?,?)" 'Declare a OleDbCommand Object  Dim CmdObj As New System.Data.OleDb.OleDbCommand(Sql, Con) 'Add the parameters CmdObj.Parameters.Add("@Pic", System.Data.OleDb.OleDbType.Binary, o.Length).Value = FileByteArray CmdObj.Parameters.Add("@FileSize", System.Data.OleDb.OleDbType.VarChar, 100).Value = o.Length Con.Open() CmdObj.ExecuteNonQuery() Con.Close() Catch ex As Exception Console.Write(ex.ToString) End Try End Sub End Class

Compile the file as: vbc SaveImage.vb /r:system.data.dll /r:system.dll. A file will be inserted in the database each time you execute SaveImage.exe.

More resources on images in a database: 

How do I move images from a picture box to and from a database?

Q&A: Images in a database

This was first published in August 2003

There are Comments. Add yours.

TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.