Что здесь не так? В моем коде (Вставка изображения в базу данных - C#)

Я пытаюсь вставить изображение в мою базу данных 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. Что не так в моем коде? Я могу успешно вставить текст в поля базы данных, используя тот же запрос.

5
задан Farid-ur-Rahman 4 February 2012 в 07:20
поделиться