插入到语法错误 c#,访问

本文关键字:访问 错误 语法 插入 | 更新日期: 2023-09-27 17:56:32

我在我的查询中得到"插入语法错误",我不知道为什么。(与 Access 的连接位于另一个类中)。

    public void InsertOrder(Order Item) // add new order
    {
        string cmdStr = "INSERT INTO [Order] (CostumerID,ProID,ProName,ProPrice,Comments,Discount,Color,Size,Quantity,OrdertDate) VALUES (@costumerID,@proID,@proName,@proPrice,@comments,@discount,@proColor,@proSize,@quantity,@orderDate)";
        using (OleDbCommand command = new OleDbCommand(cmdStr))
        {
            command.Parameters.AddWithValue("@costumerID", Item.CostumerID);
            command.Parameters.AddWithValue("@proID", Item.ProId);
            command.Parameters.AddWithValue("@proName", Item.ProName);
            command.Parameters.AddWithValue("@proPrice", Item.ProPrice);
            command.Parameters.AddWithValue("@comments", Item.Comments);
            command.Parameters.AddWithValue("@discount", Item.Discount);
            command.Parameters.AddWithValue("@proColor", Item.ProColor);
            command.Parameters.AddWithValue("@proSize", Item.ProSize);
            command.Parameters.AddWithValue("@quantity", Item.Quantity);
            command.Parameters.AddWithValue("@orderDate", Item.OrderDate);
            base.ExecuteSimpleQuery(command);
        }
    }

请帮忙吗?谢谢!

插入到语法错误 c#,访问

您需要查看此页面: MSAccess 中的保留字

你会注意到 SIZE 是一个保留关键字,所以如果你真的无法更改该名称并且仍然想在你的代码中使用它,你需要把它括在方括号里。

   string cmdStr = @"INSERT INTO [Order] 
          (CostumerID,ProID,ProName,ProPrice,Comments,
           Discount,Color,[Size],Quantity,OrdertDate) 
           VALUES (@costumerID,@proID,@proName,@proPrice,@comments,
                   @discount,@proColor,@proSize,@quantity,@orderDate)";