Save into database.
//Image to byte[] Image myImage = Image.FromFile("c:\\xyz.jpg"); System.IO.MemoryStream imgMemoryStream = new System.IO.MemoryStream(); myImage.Save(imgMemoryStream, System.Drawing.Imaging.ImageFormat.Jpeg); byte[] imgByteData = imgMemoryStream.GetBuffer(); //Store image bytes data into database SqlCeConnection scon = new SqlCeConnection("Data Source=D:\\myDB.sdf"); SqlCeCommand cmd = new SqlCeCommand("Update ImageTable Set Picture=@myPicture Where Username='Martin'", scon); cmd.Parameters.Add("@myPicture", SqlDbType.Image).Value = imgByteData; // Or cmd.Parameters.Add("@myPicture", SqlDbType.Binary).Value = imgByteData scon.Open(); cmd.ExecuteNonQuery(); scon.Close();
Line 5 : After his creation, the ImgMemoryStream object must be transformed into a byte array.
Line 9 : Save this data array.
Retrieve from database :
SqlCeConnection scon = new SqlCeConnection("Data Source=D:\\myDB.sdf"); SqlCeCommand cmd = new SqlCeCommand("Select * From ImageTable Where id = 1", scon); scon.Open(); SqlCeDataReader sdr = cmd.ExecuteReader(); byte[] imgByteData = Convert.ToByte(sdr.Item("Picture")); Bitmap bitmap = new Bitmap(new System.IO.MemoryStream(imgByteData)); // or Dim bitmap As Bitmap = Drawing.Image.FromStream(new System.IO.MemoryStream(imgByteData)); PictureBox1.Image = bitmap;
Line 5 : Convert the database field content into a byte array…
Line 6 : convert the byte array into a bitmap…
Great! Thanks for the share!
Arron
You ‘re welcome.