C#/OLE DB:INSERT INTO语句中出现语法错误

本文关键字:语法 错误 语句 INTO OLE DB INSERT | 更新日期: 2023-09-27 18:00:00

这是我的关系数据库(.accdb):

(抱歉,没有足够的信誉,无法张贴图片)

https://docs.google.com/file/d/0B11KxyqILxOoVFR5OFBBbEplS0k

错误代码:

cmd3.CommandText = "INSERT INTO Transaction ([InvoiceNum], [ItemID], [Quantity]) " +
                     "Values (?, ?, ?)";
cmd3.Parameters.AddWithValue("@InvoiceNum", invoiceNumber);
cmd3.Parameters.AddWithValue("@ItemID", itemID);
cmd3.Parameters.AddWithValue("@Quantity", item.GetQuantity());
cmd3.ExecuteNonQuery(); //ERROR: Syntax error in INSERT INTO statement

如果我改为INSERT INTO Transaction2,它会起作用。

工作代码:

 cmd3.CommandText = "INSERT INTO Transaction2 ([InvoiceNum], [ItemID], [Quantity]) " +
                     "Values (?, ?, ?)";
cmd3.Parameters.AddWithValue("@InvoiceNum", invoiceNumber);
cmd3.Parameters.AddWithValue("@ItemID", itemID);
cmd3.Parameters.AddWithValue("@Quantity", item.GetQuantity());
cmd3.ExecuteNonQuery(); 

我认为问题与"交易"与"发票"answers"项目"之间存在关系有关。

请帮忙!

C#/OLE DB:INSERT INTO语句中出现语法错误

TRANSACTION一词在SQL中是一个保留字。请为表使用其他名称。