Tôi đang cố gắng chèn một hình ảnh trong cơ sở dữ liệu truy cập của tôi từ C# winform. Tôi đang sử dụng đoạn mã sau:Có gì sai ở đây? Trong mã của tôi (Chèn hình ảnh vào cơ sở dữ liệu - 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();
}
Khi tôi chạy mã nó chỉ cho tôi một lỗi: Syntax error in INSERT INTO statement.
là gì sai ở đây trong mã của tôi? Tôi có thể chèn thành công văn bản vào các trường của cơ sở dữ liệu bằng cách sử dụng cùng một truy vấn.
http://lh4.ggpht.com/_eknxl1DkWrU/Sd9xo_Pt8PI/AAAAAAAAA-s/cQHUuxPpBeM/s1600 -h/UploadImage% 5B3% 5D.jpg – Madhu
vẫn không hoạt động sau khi thêm '@' với img. –
các loại dữ liệu của cột của bạn là gì? Bạn có chắc 'Cột 4' là giá trị hợp lệ cho cột Giá không? –