我似乎无法弄清楚为什么我会继续得到一个Syntax error in INSERT INTO statement。
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; } } }
User 是保留关键字,您需要将其包装在方括号中:
User
INSERT INTO Events (Date_Time, Details, Regarding, [User], Control_Number) VALUES (@Date_Time, @Details, @Regarding, @User, @Control_Number)
我建议重命名该列,以避免每次引用时都使用方括号。