title: Store image to database blob; retrieve from db into Picturebox
body: <p>Hi I posted this earlier and got some help but still no working solution. I have determined thanks to the last q &amp; a that there is something wrong with my "save to db" code as well as my "retrieve to picture" code. Even If I manually save the pic in the db it stil wont retreive. This is code i patched together from 3 or 4 examples around the net. Ideally if someone had some known good code and could direct me to it that would be the best.</p>
  
  <pre><code>    Dim filename As String = txtName.Text + ".jpg"
      Dim FileSize As UInt32
      Dim ImageStream As System.IO.MemoryStream
  
      ImageStream = New System.IO.MemoryStream
      PbPicture.Image.Save(ImageStream, System.Drawing.Imaging.ImageFormat.Jpeg)
      ReDim rawdata(CInt(ImageStream.Length - 1))
      ImageStream.Position = 0
      ImageStream.Read(rawdata, 0, CInt(ImageStream.Length))
      FileSize = ImageStream.Length
  
      Dim query As String = ("insert into actors (actor_pic, filename, filesize) VALUES    (?File, ?FileName, ?FileSize)")
      cmd = New MySqlCommand(query, conn)
      cmd.Parameters.AddWithValue("?FileName", filename)
      cmd.Parameters.AddWithValue("?FileSize", FileSize)
      cmd.Parameters.AddWithValue("?File", rawData)
  
      cmd.ExecuteNonQuery()
  
      MessageBox.Show("File Inserted into database successfully!", _
      "Success!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
  </code></pre>
  
  <p>![enter image description here][1]</p>
  
  <p>'*****retieving to the picturebox using the following code:</p>
  
  <pre class="lang-vb prettyprint-override"><code>  Private Sub GetPicture()
      'This retrieves the pictures from a mysql DB and buffers the rawdata into a memorystream 
  
      Dim FileSize As UInt32
      Dim rawData() As Byte
  
      Dim conn As New MySqlConnection(connStr)
  
  
      conn.Open()
      conn.ChangeDatabase("psdb")
  
  
      Dim cmd As New MySqlCommand("SELECT actor_pic, filesize, filename FROM actors WHERE actor_name = ?autoid", conn)
      Cmd.Parameters.AddWithValue("?autoid", Actor1Box.Text)
  
      Reader = cmd.ExecuteReader
      Reader.Read()
  
      'data is in memory 
  
      FileSize = Reader.GetUInt32(Reader.GetOrdinal("filesize"))
      rawData = New Byte(FileSize) {}
  
      'get the bytes and filesize 
  
      Reader.GetBytes(Reader.GetOrdinal("actor_pic"), 0, rawData, 0, FileSize)
  
      Dim ad As New System.IO.MemoryStream(100000)
      ' Dim bm As New Bitmap
  
      ad.Write(rawData, 0, FileSize)
  
      Dim im As Image = Image.FromStream(ad) * "error occurs here" (see below)
      Actor1Pic.Image = im
  
  
      Reader.Close()
  
  
      conn.Close()
      conn.Dispose()
  
      ad.Dispose()
  </code></pre>