.net,MS Access,INSERT INTO语句中的语法错误

俊Q

异常详细信息:System.Data.OleDb.OleDbException:INSERT INTO语句中的语法错误。

源错误:

第168行:comm.Parameters.Add(param);

第169行:

第170行:int 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,属性的数据类型是UserID:Number,

产品编号:

OrderDate:长文本,

产品数量:数量

IsCart:是/否

我已经在这个错误中坚持了几个小时,有什么可以帮助我找到它的吗?谢谢。

大卫

Order非常有可能在你的数据库引擎保留字,因为它是在SQL查询的关键字。您需要将标识符括起来,以防止将其误认为关键字。根据您的数据库引擎,可能是这样的:

INSERT INTO [Order] (UserID, ProductID, OrderDate, ProductQty, IsCart) VALUES(?, ?, ?, ?, ?)

或这个:

INSERT INTO `Order` (UserID, ProductID, OrderDate, ProductQty, IsCart) VALUES(?, ?, ?, ?, ?)

甚至其他内容(同样,取决于您的数据库)。

从技术上讲,出于多种原因,您可以(甚至可能想要)封装所有标识符:

INSERT INTO [Order] ([UserID], [ProductID], [OrderDate], [ProductQty], [IsCart]) VALUES(?, ?, ?, ?, ?)

这可能是为了保持一致性,防止进一步的歧义(不太可能,但有可能),或者甚至是查询解析中的性能略有提高(这对于大批量情况而言可能很重要)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

插入MS Access的INSERT语句中的语法错误

来自分类Dev

MS Access中CREATE TABLE语句中的语法错误

来自分类Dev

asp.net中的INSERT INTO语句中的语法错误

来自分类Dev

insert into 语句中的语法错误 - 在 VB.NET 中

来自分类Dev

使用 MS Access 数据库的更新语句中的语法错误

来自分类Dev

INSERT INTO语句中的语法错误。在VB.net 2005中

来自分类Dev

参数化的INSERT INTO语句中的VB.NET语法错误

来自分类Dev

INSERT INTO 语句中的语法错误 Insert in Access

来自分类Dev

INSERT INTO语句中的语法错误

来自分类Dev

在INSERT INTO语句中获取语法错误

来自分类Dev

OleDbException: INSERT INTO 语句中的语法错误

来自分类Dev

MySQL INSERT INTO 语句中的语法错误

来自分类Dev

INSERT INTO语句中的语法错误。(VB和ACCESS 2013)

来自分类Dev

使用Access和Pyodbc的INSERT语句中的语法错误

来自分类Dev

ODBC MS Access:FROM子句中的语法错误

来自分类Dev

创建表语句 MS Access 中的语法错误

来自分类Dev

java jdbc ms访问“ UPDATE语句中的语法错误”

来自分类Dev

java jdbc ms访问“ UPDATE语句中的语法错误”

来自分类Dev

OleDbCommandBuilder生成的INSERT INTO语句中的语法错误

来自分类Dev

为什么在INSERT INTO语句中出现语法错误?

来自分类Dev

OleDbCommandBuilder生成的INSERT INTO语句中的语法错误

来自分类Dev

为什么会出现“ INSERT INTO语句中的语法错误”?

来自分类Dev

VB.net中UPDATE语句中的语法错误

来自分类Dev

INSERT INTO语句中的语法错误。在Access中运行,而不在VB中运行

来自分类Dev

在Access 2010中的INSERT INTO语句中获取SQL语法错误

来自分类Dev

MS Access中的VB.Net查询语法错误

来自分类Dev

错误:command.ExecuteNonQuery()中的INSERT INTO语句中的语法错误

来自分类Dev

将记录添加到Access数据库时出现“ INSERT INTO语句中的语法错误”

来自分类Dev

使用OleDbConnection向Access数据库提交数据时,在C#中调试“ INSERT INTO语句中的语法错误”

Related 相关文章

  1. 1

    插入MS Access的INSERT语句中的语法错误

  2. 2

    MS Access中CREATE TABLE语句中的语法错误

  3. 3

    asp.net中的INSERT INTO语句中的语法错误

  4. 4

    insert into 语句中的语法错误 - 在 VB.NET 中

  5. 5

    使用 MS Access 数据库的更新语句中的语法错误

  6. 6

    INSERT INTO语句中的语法错误。在VB.net 2005中

  7. 7

    参数化的INSERT INTO语句中的VB.NET语法错误

  8. 8

    INSERT INTO 语句中的语法错误 Insert in Access

  9. 9

    INSERT INTO语句中的语法错误

  10. 10

    在INSERT INTO语句中获取语法错误

  11. 11

    OleDbException: INSERT INTO 语句中的语法错误

  12. 12

    MySQL INSERT INTO 语句中的语法错误

  13. 13

    INSERT INTO语句中的语法错误。(VB和ACCESS 2013)

  14. 14

    使用Access和Pyodbc的INSERT语句中的语法错误

  15. 15

    ODBC MS Access:FROM子句中的语法错误

  16. 16

    创建表语句 MS Access 中的语法错误

  17. 17

    java jdbc ms访问“ UPDATE语句中的语法错误”

  18. 18

    java jdbc ms访问“ UPDATE语句中的语法错误”

  19. 19

    OleDbCommandBuilder生成的INSERT INTO语句中的语法错误

  20. 20

    为什么在INSERT INTO语句中出现语法错误?

  21. 21

    OleDbCommandBuilder生成的INSERT INTO语句中的语法错误

  22. 22

    为什么会出现“ INSERT INTO语句中的语法错误”?

  23. 23

    VB.net中UPDATE语句中的语法错误

  24. 24

    INSERT INTO语句中的语法错误。在Access中运行,而不在VB中运行

  25. 25

    在Access 2010中的INSERT INTO语句中获取SQL语法错误

  26. 26

    MS Access中的VB.Net查询语法错误

  27. 27

    错误:command.ExecuteNonQuery()中的INSERT INTO语句中的语法错误

  28. 28

    将记录添加到Access数据库时出现“ INSERT INTO语句中的语法错误”

  29. 29

    使用OleDbConnection向Access数据库提交数据时,在C#中调试“ INSERT INTO语句中的语法错误”

热门标签

归档