Trouble with INSERT INTO statement

故事扮演 提交于 2020-01-11 12:14:55

问题


I can't seem to figure out why I keep getting a Syntax error in INSERT INTO statement.

The code is below.

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;
      }
   }            
}

回答1:


User is a reserved keyword, you need to wrap it in square brackets:

INSERT INTO Events (Date_Time, Details, Regarding, [User], Control_Number) VALUES (@Date_Time, @Details, @Regarding, @User, @Control_Number)

I'd recommend renaming that column to avoid the need for square brackets every time you reference it.



来源:https://stackoverflow.com/questions/18196671/trouble-with-insert-into-statement

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!