簡體   English   中英

System.Data.OleDb.OleDbException: 'UPDATE 語句中的語法錯誤。 '

[英]System.Data.OleDb.OleDbException: 'Syntax error in UPDATE statement. '

我在嘗試更新時收到此錯誤,但我無法在更新語句中找到任何問題。

str = "UPDATE BillTable SET Bill_No = @billno, Bill_Year = @billYear, Voucher_No= @voucher, Date= @date, Group_ID= @groupname, Vendor_Id= @vendorname, Amount= @amount WHERE ID= @billID";

            cmd = new OleDbCommand(str, cn);
            cmd.Parameters.Add(new OleDbParameter("@billID", Convert.ToString(inovidid)));
            cmd.Parameters.Add(new OleDbParameter("@billYear", Convert.ToString(fylabel.Text)));
            cmd.Parameters.Add(new OleDbParameter("@billno", Convert.ToString(billno.Text)));
            cmd.Parameters.Add(new OleDbParameter("@voucher", Convert.ToString(voucher.Text)));
            cmd.Parameters.Add(new OleDbParameter("@date", Convert.ToString(DateTimePicker1.Text)));
            cmd.Parameters.Add(new OleDbParameter("@groupname", Convert.ToString(groupidDB)));
            cmd.Parameters.Add(new OleDbParameter("@vendorname", Convert.ToString(vendoridDB)));
            cmd.Parameters.Add(new OleDbParameter("@amount", Convert.ToString(amount.Text)));


轉換為字符串以及亂序參數最終可能會導致“數據類型不匹配”錯誤或根本無法執行( OleDbCommand 參數 order 和 priority ),但語法錯誤很可能是由於使用 Date 作為字段名引起的。 日期是保留字(內在函數)。 它甚至會導致 Access VBA 中的執行命令出錯。 重命名該字段或將其括在 [ ] 中以定義為字段名稱: [Date]=@date

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM