[英]Unable to insert image in my Access Database
好吧,我有一个简单的MS Access数据库,其中的连接很好,但我不断收到错误消息
INSERT INTO语句中的语法错误
private void btnSave_Click(object sender, EventArgs e)
{
byte[] picbyte = System.IO.File.ReadAllBytes(imgFile);
try
{
conn = new OleDbConnection(connstring);
conn.Open();
sqlcom = new OleDbCommand("INSERT INTO Image (Img) values (@Img)", conn);
sqlcom.Parameters.AddWithValue("@Img", picbyte);
sqlcom.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}
}
我表的名称是Image
,列是ImgId
(自动编号)和Img
(OLE对象)
尝试这个:
byte[] picbyte = System.IO.File.ReadAllBytes(imgFile);
using (var connection = new OleDbConnection(connstring))
using (var command = connection.CreateCommand())
{
connection.Open();
command.CommandText = "INSERT INTO [Image] (Img) VALUES (@Img)";
command.Parameters.AddWithValue("@Img", picbyte);
command.ExecuteNonQuery();
}
如果您的数据库表包含使用Microsoft Jet 4.0保留字的列名,则可能会发生此问题,您可以尝试更改表名吗?
表名( IMAGE
)是数据类型。 为了避免这种情况,您必须使用方括号[ ]
。
command.CommandText = "INSERT INTO [Image] (Img) VALUES (@Img)";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.