无法在我的 Access 数据库中插入图像
Posted
技术标签:
【中文标题】无法在我的 Access 数据库中插入图像【英文标题】:Unable to insert image in my Access Database 【发布时间】:2012-02-19 10:14:08 【问题描述】:嗯,我有一个简单的 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 对象)
【问题讨论】:
你能发布你收到的完整错误吗? 【参考方案1】:试试这个:
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();
【讨论】:
【参考方案2】:如果您的数据库表包含使用 Microsoft Jet 4.0 保留字的列名,可能会出现此问题,您可以尝试更改表名吗?
【讨论】:
【参考方案3】:您的表名 (IMAGE
) 是数据类型。为了避免这种情况,您必须使用括号[ ]
。
command.CommandText = "INSERT INTO [Image] (Img) VALUES (@Img)";
【讨论】:
以上是关于无法在我的 Access 数据库中插入图像的主要内容,如果未能解决你的问题,请参考以下文章