我似乎无法弄清楚为什么我会继续获得Syntax error in INSERT INTO statement
。
代码如下。
static void ABSChangeEventsTable(string ControlNumber, string CurrentStatus)
{
using (var connection = new OleDbConnection(strAccessConnAbstracting))
using (var command = connection.CreateCommand())
{
connection.Open();
command.CommandText = "INSERT INTO Events (Date_Time, Details, Regarding, User, Control_Number) VALUES (@Date_Time, @Details, @Regarding, @User, @Control_Number)";
command.Parameters.AddWithValue("@Date_Time", DateTime.Now);
command.Parameters.AddWithValue("@Details", "OLD:"+CurrentStatus+" NEW: Received Fax");
command.Parameters.AddWithValue("@Regarding", "Status Changed");
command.Parameters.AddWithValue("@User", "System");
command.Parameters.AddWithValue("@Control_Number", ControlNumber);
try
{
command.ExecuteNonQuery();
}
catch (System.Exception ex)
{
throw;
}
}
}
答案 0 :(得分:5)
User
是保留关键字,您需要将其包装在方括号中:
INSERT INTO Events (Date_Time, Details, Regarding, [User], Control_Number) VALUES (@Date_Time, @Details, @Regarding, @User, @Control_Number)
我建议重命名该列,以避免每次引用时都需要方括号。