【发布时间】:2014-10-25 17:39:05
【问题描述】:
我使用的是 SQL Server 数据库,然后我将 SQL 数据库导出到 MS Access 并在 C# 项目中使用该数据库。
现在,当我尝试在任何表中插入或更新数据时,它会给出有关错误查询的错误消息。这是“INSERT INTO 语句中的语法错误。”
我在 C# 中的查询是:
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Engr. Mac\Documents\Visual Studio 2012\Projects\SGM\SGM\SGdb.mdb");
OleDbCommand com = new OleDbCommand("", con);
con.Open();
com.CommandText = "INSERT INTO newOrder (Order_No, Customer_No, Issue_Date, Delivery_Date, Order_Type,Total_Weight) Values('" + orderbol.OrderNo + "', '" + orderbol.CustomerN0 + "', '" + orderbol.IssueDate + "', '" + orderbol.DlvryDate + "', '" + orderbol.OrdrType + "','"+0+"')";
if(com.ExecuteNonQuery()>0)
{
con.Close();
return true;
}
【问题讨论】:
-
如果您使用 SQL 参数,您的问题很可能会消失;请参阅:stackoverflow.com/a/15346322/1070452 很难在 SO 中搜索不包含 SQLparams 的 SQL 答案。
-
我在查询中也使用了sql参数,但是没有用
-
尝试在日期字段周围加上“#”,例如:“VALUES (#'" + orderbol.IssueDate + "'#)"
标签: c# ms-access-2007 oledb