2017-08-10 60 views
0

我正在語法錯誤在下面插入查詢()VB.NET - OleDbCommand的查詢被示出在線路 cmd.ExecuteNonQuery語法錯誤

我已經檢查的參數的數據類型和所提供的值。他們是正確的。

帶後綴'CB'的變量代表Combobox。我最初使用 itemCB.selectedItem.toString。但現在改爲itemCB.text。但無論如何,兩者都不起作用。

很長時間無法找出語法錯誤。 有人可以幫助我。

Dim cmdText As String 
      cmdText = "insert into tblSales(salesDate,item,type,container,quantity,amount,custId,custName,custPhNo,custPlace,custEmail,remarks) values(?,?,?,?,?,?,?,?,?,?,?,?)" 

      Dim cmd As New OleDbCommand 
      cmd.CommandText = cmdText 
      cmd.Connection = MainForm.con 

      cmd.Parameters.AddWithValue("@salesDate", salesDate.Value.ToString("dd-MM-yyyy")) 
      cmd.Parameters.AddWithValue("@item", itemCB.Text) 
      cmd.Parameters.AddWithValue("@type", typeCB.Text) 
      cmd.Parameters.AddWithValue("@container", containerCB.Text) 
      cmd.Parameters.AddWithValue("@quantity", CInt(qty.Text)) 
      cmd.Parameters.AddWithValue("@amount", CInt(amount.Text)) 
      cmd.Parameters.AddWithValue("@custId", CInt(custId.Text)) 
      cmd.Parameters.AddWithValue("@custName", custName.Text) 
      cmd.Parameters.AddWithValue("@custPhNo", custPhNo.Text) 
      cmd.Parameters.AddWithValue("@custPlace", custPlace.Text) 
      cmd.Parameters.AddWithValue("@custEmail", custEmail.Text) 
      cmd.Parameters.AddWithValue("@remarks", remarks.Text) 
      cmd.ExecuteNonQuery() 

回答

0

您正在使用哪個數據庫?,Insert語句的語法對我來說感覺很陌生。我期望的東西在:

cmdText = "insert into tblSales(salesDate,item,type,container,quantity,amount,custId,custName,custPhNo,custPlace,custEmail,remarks) values(@salesDate,@item,@type,@container, @quantity,@amount,@custId,@custName,@custPhNo,@custPlace,@custEmail,@remarks)" 

標記在哪個位置是每個參數。

+0

「containerType」我使用MSACCESS數據庫 – sabari

0

我使用MS Access作爲我的後端數據庫,其中'容器'是關鍵字。作爲我的表列,被命名爲容器,它引發了這個錯誤。

cmd.Parameters.AddWithValue(「@ container」,containerCB.Text)==>錯誤在這裏。

現在我改變了列名

語法錯誤得到解決