Я пытаюсь вставить изображение в мою базу данных Access из C# winform. Я использую следующий код:
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();
}
Когда я запускаю код, он показывает мне ошибку: Syntax error in INSERT INTO statement.
Что не так в моем коде? Я могу успешно вставить текст в поля базы данных, используя тот же запрос.