Inserting Image in Microsoft Access Database Using C#

In this tutorial, I will teach you how to insert an image in MS Access Database Using C#. This method has the ability to store an image into Microsoft Access database. I used an OleDB object in the data types of a field in order to save an image itself. Let's begin.

Creating an Application

Step 1

Open Microsoft Visual Studio 2015 and create a new windows form application in c#. figure 1

Step 2

Do the form just like shown below. figure 2

Step 3

Press F7 to open the code editor. In the code editor, add a namespace for OLeDB to access OLeDB libraries .
  1. Using System.Data.OleDb

Step 4

Create a connection between the MS access database and c#. After that, declare all the classes and variables that are needed.
  1.  
  2. OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\\dbsaveimg.accdb");
  3. OleDbCommand cmd = new OleDbCommand();
  4. String sql;
  5. OpenFileDialog ofd = new OpenFileDialog();

Step 5

Create a method for Saving an image in the database.
  1.  
  2. private void saveImage(string sql)
  3. {
  4. try
  5. {
  6. con.Open();
  7. string path = ofd.FileName;
  8. byte[] imageData;
  9.  
  10. cmd = new OleDbCommand();
  11.  
  12. cmd.Connection = con;
  13. cmd.CommandText = sql;
  14. imageData = System.IO.File.ReadAllBytes(@path);
  15. cmd.Parameters.AddWithValue("@IM", imageData);
  16. cmd.ExecuteNonQuery();
  17.  
  18. }
  19. catch(Exception ex)
  20. {
  21. MessageBox.Show(ex.Message);
  22. }
  23. finally
  24. {
  25. con.Close();
  26. }
  27. }
Step 6 Write the following code to execute the saveImage() method when the “Save” button is clicked.
  1.  
  2. private void btnSave_Click(object sender, EventArgs e)
  3. {
  4. sql = "Insert into tblimage (img) Values (@IM)";
  5. saveImage(sql);
  6. MessageBox.Show("Image has been saved into the database");
  7. }
Step 7 Write the following code to get an image in the file directory when the Browse button is clicked.
  1.  
  2. private void btnBrowse_Click(object sender, EventArgs e)
  3. {
  4.  
  5. //'CHECK THE SELECTED FILE IF IT EXIST OTHERWISE THE DIALOG BOX WILL DISPLAY A WARNING.
  6. ofd.CheckFileExists = true;
  7.  
  8. //'CHECK THE SELECTED PATH IF IT EXIST OTHERWISE THE DIALOG BOX WILL DISPLAY A WARNING.
  9. ofd.CheckPathExists = true;
  10.  
  11. //'GET AND SET THE DEFAULT EXTENSION
  12. ofd.DefaultExt = "jpg";
  13.  
  14. //'RETURN THE FILE LINKED TO THE LNK FILE
  15. ofd.DereferenceLinks = true;
  16.  
  17. //'SET THE FILE NAME TO EMPTY
  18. ofd.FileName = ".jpg";
  19.  
  20. //'FILTERING THE FILES
  21. ofd.Filter = "(*.jpg)|*.jpg|(*.png)|*.png|(*.jpg)|*.jpg|All files|*.*";
  22. //'SET THIS FOR ONE FILE SELECTION ONLY.
  23. ofd.Multiselect = false;
  24.  
  25. //'SET THIS TO PUT THE CURRENT FOLDER BACK TO WHERE IT HAS STARTED.
  26. ofd.RestoreDirectory = true;
  27.  
  28. //'SET THE TITLE OF THE DIALOG BOX.
  29. ofd.Title = "Select a file to open";
  30.  
  31. //'ACCEPT ONLY THE VALID WIN32 FILE NAMES.
  32. ofd.ValidateNames = true;
  33.  
  34. if (ofd.ShowDialog() == DialogResult.OK)
  35. {
  36. PictureBox1.Image = Image.FromFile(ofd.FileName);
  37. }
  38. }
Download the complete source code and run it on your computer. For any questions about this article. You can contact me @ Email – [email protected] Mobile No. – 09305235027 – TNT Or feel free to comment below

Add new comment

CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
1 + 9 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.