Stocker l'image dans la base de données et de les récupérer

Mon code pour insérer une image dans la base de données est comme suit:

MemoryStream ms =new MemoryStream();
byte[] PhotoByte=null;
PhotoByte=ms.ToArray();
pictureBox1.Image.Save(ms, ImageFormat.Jpeg);
PhotoByte =ms.ToArray();
Str = "insert into Experimmm Values('" + PhotoByte + "','" + textBox1.Text + "')";
Conn.Open();
cmd.Connection = Conn;
cmd.CommandText = Str;
cmd.ExecuteNonQuery();
Conn.Close();

Qui va bien. Je peux voir des données binaires dans ma table de base de données comme <Binary Data>
Mon code pour la récupération des données est:

Str ="select * from Experimmm where id = '" +textBox2.Text + "'";
Conn.Open();
cmd.Connection = Conn;
cmd.CommandText = Str;
dr = cmd.ExecuteReader();
if (dr.Read())
{ label1.Text = dr.GetValue(1).ToString();
byte[] PhotoByte = (byte[])dr.GetValue(0);
MemoryStream mem = new MemoryStream(PhotoByte, 0, PhotoByte.Length);
//but an error takes place on next line "Parameter is not valid."             
pictureBox2.Image = Image.FromStream(mem);
} Conn.Close();

Je suis à l'aide de visual studio 10 , C# ,sql server 2005

  • PLZ Stocker des chemins plutôt que des images - alors vous n'aurez pas besoin de tout cela.
  • le paramètre n'est pas valide? Merci de poster l'intégralité de l'exception au lieu de paraphraser il.
  • Mes yeux! Ils sont la gravure!
  • monsieur, j'ai pour stocker des images, parce que je veux les utiliser dans crystal report dynamiquement... merci à JonH pour une réponse rapide
  • possible en double stackoverflow.com/questions/5285213/...
  • John Saunders @pictureBox2.Image = Image.FromStream(mem); "mem" est le paramètre
  • Le temps de lire BLOB ou de ne pas BLOB, je pense.
  • Depuis il ne semble pas que quelqu'un d'autre a mentionné, il est temps pour échanger de concaténation de chaîne avec une requête paramétrée. Des injections SQL sont pas amusant.
  • cette question n'a rien à propos des bases de données. Même pas près d'être un doublon.
  • oooooo me dire que dois-je faire..???
  • ah. ! j'ai dit que possible. nyway 😀