異常詳細信息:System.Data.OleDb.OleDbException:INSERT INTO語句中的語法錯誤。.net,MS Access,INSERT INTO語句中的語法錯誤
源錯誤:
線168:comm.Parameters.Add(PARAM);
169行:
線170:整數= TOTALCOUNT comm.ExecuteNonQuery();
171行:conn.Close();
172線:
我不斷收到錯誤消息「語法錯誤INSERT INTO語句中」當代碼運行到下面的方法:
protected void makeOrder()
{
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = ConfigurationManager.ConnectionStrings["onlineStoreConnString"].ConnectionString;
conn.Open();
OleDbCommand comm = conn.CreateCommand();
comm.CommandText = "INSERT INTO Order (UserID, ProductID, OrderDate, ProductQty, IsCart) VALUES(?, ?, ?, ?, ?)";
OleDbParameter param;
param = comm.CreateParameter();
param.DbType = DbType.String;
param.Direction = ParameterDirection.Input;
param.Value = Int32.Parse(Session["LoggedInId"].ToString());
comm.Parameters.Add(param);
param = comm.CreateParameter();
param.DbType = DbType.String;
param.Direction = ParameterDirection.Input;
param.Value = Int32.Parse(Request.QueryString["id"].ToString());
comm.Parameters.Add(param);
param = comm.CreateParameter();
param.DbType = DbType.String;
param.Direction = ParameterDirection.Input;
param.Value = DateTime.Now.ToString();
comm.Parameters.Add(param);
param = comm.CreateParameter();
param.DbType = DbType.String;
param.Direction = ParameterDirection.Input;
param.Value = Int32.Parse(txtQty.Text);
comm.Parameters.Add(param);
param = comm.CreateParameter();
param.DbType = DbType.String;
param.Direction = ParameterDirection.Input;
param.Value = true;
comm.Parameters.Add(param);
int totalCount = comm.ExecuteNonQuery();
conn.Close();
}
數據庫是MS Access和數據屬性的類型是 用戶名:號碼,
產品編號:編號,
訂購日期:長文本,
ProductQty:數
IsCart:是/否
我在這個錯誤的幾個小時一直堅持,任何可以幫我找到它?謝謝。
什麼是您的DBMS? –
'Order'是一個保留關鍵字。用雙引號或反引號包圍它(如果使用mysql) –
DBMS是MS Access –