Im using a MS SQL server to store images... Im creating a windows form application using C#.
I need to store and retrieve images from the database.
This is my code to store images:
Expand|Select|Wrap|Line Numbers
- pictureBox.Image = new System.Drawing.Bitmap(this.openFileDialog.FileName);
- MemoryStream mstr = new MemoryStream();
- pictureBox.Image.Save(mstr, pictureBox.Image.RawFormat);
- byte[] arrImage = mstr.GetBuffer();
- Console.WriteLine("----------"+arrImage.ToString()+"--------------");
- string connString = SatSmart.Misc.DataConn.connString;
- string qry = "update " + this.screenObject.loggedInUserType + "s set photo='@Pic' where userName='" + this.screenObject.loggedInUserName + "';";
- System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection(connString);
- System.Data.Odbc.OdbcCommand cmd = new System.Data.Odbc.OdbcCommand(qry, conn);
- System.Data.Odbc.OdbcParameter param=new System.Data.Odbc.OdbcParameter("@Pic",System.Data.Odbc.OdbcType.Image);
- param.Value = arrImage;
- cmd.Parameters.Add(param);
- conn.Open();
- cmd.ExecuteNonQuery();
- conn.Close();
Here is my code for retrieving images:
Expand|Select|Wrap|Line Numbers
- while (reader.Read())
- {
- byte[] image = (byte[])reader.GetValue(reader.GetOrdinal("photo"));
- System.Drawing.Image newImage = null;
- using (System.IO.MemoryStream stream = new System.IO.MemoryStream(image))
- {
- try
- {
- newImage = System.Drawing.Image.FromStream(stream);
- }
- catch (Exception e)
- {
- System.Windows.Forms.MessageBox.Show(e.ToString());
- }
- }
- this.pictureBox.Image = newImage;
- }
The Exception stack trace is....
A first chance exception of type 'System.ArgumentException' occurred in System.Drawing.dll
at System.Drawing.Image.FromStream(Stream stream, Boolean useEmbeddedColorManagement, Boolean validateImageData)
at System.Drawing.Image.FromStream(Stream stream)
at SatSmart.TeacherGUI.MyAccountUserControl..ctor(scr een screen) in C:\Documents and Settings\san.bak\Desktop\SatSmart\SatSmart\Teacher GUI\MyAccountUserControl.cs:line 94
Its a "System.ArgumentException:Parameter is not valid"
Plz help... Im really stuck in this.....