簡體   English   中英

MYSQL SQL語法錯誤C#

[英]MYSQL SQL syntax error c#

我的SQL語句中有錯誤。 這是查詢:

 MySqlCommand cmd = new MySqlCommand("insert into bills (bill_Number,bill_Date,bill_From,bill_Note,bill_TaxRate,bill_DisRate,bill_EntryDate,cus_Sup,by,archived) values(" + txbBillNumber.Text + ",'" + DateTime.Parse(txbBillDate.Text).Year + "-" + DateTime.Parse(txbBillDate.Text).Month + "-" + DateTime.Parse(txbBillDate.Text).Day + "'," + sup_Id + ",'" + txb_Note.Text + "'," + taxRate + "," + disRate + ",'" + DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + "'," + Bills.cus_Sup + ",0,0)", objConn);
                        cmd.ExecuteNonQuery();

在此圖像中,錯誤和票據表結構如下: Screebshot1

一個問題是,用作列的by這個詞是保留關鍵字 (在MySQL和SQL標准中都是這樣)。 要使用它,您必須將其用反引號``或雙引號“”引起來。

另外,在適用的情況下,字符串值必須在單引號之間,但我想您已經明白了。

附帶說明,您應該研究使用參數化查詢而不是串聯查詢。 參見以下示例示例: 具有MySQL INSERT參數的C#

您的字符串值必須用SQL語句括在引號中,例如: MySqlCommand cmd = new MySqlCommand("insert into bills (bill_Number,bill_Date,bill_From,bill_Note,bill_TaxRate,bill_DisRate,bill_EntryDate,cus_Sup,by,archived) values(\\"" + txbBillNumber.Text + "\\"...

我的第一個想法是,“ by”是保留字,“ by”需要封裝在單引號/雙引號中……無論mysql需要什么。 這是來自sql server的經驗。

暫無
暫無

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

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