primero kiero saber que me sale mejor si guardar las imagenes en la base de datos o en el disco duro estoy haciendo un programa con un opendialog eligo que imagen ira en el backgroundimage del picturebox al iniciar ya tiene una imagen si mando a guardar esa imagen ala base de datos no hay problema pero si la cambio me da un error al kererla guardar
este es el codigo que uso para codificar la imagen
public byte[] codificar(PictureBox p)
{
MemoryStream stream = new MemoryStream();
p.BackgroundImage.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] pic = stream.ToArray();
return pic;
}
y para guardarla
Conexion.Open();
SqlCommand Comand = Conexion.CreateCommand();
Comand.CommandText = "use programa insert into usuario(nclave,nusuario,edad,estatura,peso,sexo,av atar)values(" + nclave + "," + nombre + "," + edad + "," + estatura + "," + peso + ",'" + c + "',@pic)";
Comand.Parameters.AddWithValue("@pic", pic);
Comand.ExecuteNonQuery();
Conexion.Close();
por cierto este codigo lo copie de internet y algo que no se si me puedan explicar ya que no solo kiero que corra el programa quiero saber pork y saber que estoy haciendo lo que no entiendo es esto comand.Parameters.AddWithValue("@pic", pic);
pork no se pone solo la variable pic en vez de poner la linea anterior y poner @pic