Estoy tratando de insertar una imagen en mi base de datos de acceso desde C# winform. Estoy utilizando el siguiente código:¿Qué está mal aquí? En mi código (Insertar imagen en la base de datos - C#)
private void button1_Click(object sender, EventArgs e)
{
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb");
OleDbCommand cmd = con.CreateCommand();
cmd.CommandText = "INSERT INTO Table1 (Product, Manufacturer, Description, Price, Image) VALUES ('Column1', 'Column2', 'Column3', 'Column4', @img)";
byte[] yourPhoto = imageToByteArray(pictureBox1.Image);
cmd.Parameters.AddWithValue("@img", yourPhoto);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
public byte[] imageToByteArray(System.Drawing.Image iImage)
{
MemoryStream mMemoryStream = new MemoryStream();
iImage.Save(mMemoryStream, System.Drawing.Imaging.ImageFormat.Png);
return mMemoryStream.ToArray();
}
Cuando ejecuto el código que me muestre un error: Syntax error in INSERT INTO statement.
¿Qué está mal aquí en mi código? Puedo insertar texto con éxito en los campos de la base de datos utilizando la misma consulta.
http://lh4.ggpht.com/_eknxl1DkWrU/Sd9xo_Pt8PI/AAAAAAAAA-s/cQHUuxPpBeM/s1600 -h/UploadImage% 5B3% 5D.jpg – Madhu
sigue sin funcionar después de agregar '@' con la img. –
¿Cuáles son los tipos de datos de sus columnas? ¿Estás seguro de que 'Column4' es un valor válido para la columna Precio? –