这有什么不对?在我的代码中(将图像插入数据库 - C#)

Far*_*man 5 c# database winforms

我试图从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();
    }
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,它向我显示一个错误:Syntax error in INSERT INTO statement. 我的代码中有什么问题?我可以使用相同的查询成功地将文本插入到数据库的字段中.

Mr *_*ter 6

Image 是一个保留字,所以我假设您应该在SQL查询中将此单词放在引号或方括号中.