簡體   English   中英

“INSERT INTO”語句中的語法錯誤 VB.NET ACCESS

[英]Syntax error in 'INSERT INTO' statement VB.NET ACCESS

我正在嘗試使用 VB.NET 使用此行將記錄插入數據庫,但出現語法錯誤? 我認為這沒有什么問題嗎?

SQL = ("INSERT INTO Orders (Items, CustName, Table, Cost, Price) 
      VALUES ('" & ItemsString & "', '" & CustName & "', '" & Table & 
      "', '" & Cost & "', '" & Price & "');")

我不確定字符串外的括號是什么,但它們不是必需的。 始終使用參數。 永遠不要連接字符串來構建CommandText

請注意,TABLE 是保留字。 括在括號中。

我不得不猜測參數的數據類型。 檢查您的數據庫以獲取正確的值。 錢應該是十進制的。

這就是參數化查詢的樣子。

Private Sub InsertRecord(ItemsString As String, CustName As String, Table As String, Cost As Decimal, Price As Decimal)
    Dim SQL = "INSERT INTO Orders (Items, CustName, [Table], Cost, Price) VALUES (@ItemsString, @CustName, @Table, @Cost, @Price);"
    Using cn As New OleDbConnection("Your conneciton string"),
            cmd As New OleDbCommand(SQL, cn)
        cmd.Parameters.Add("@ItemsString", OleDbType.VarChar).Value = ItemsString
        cmd.Parameters.Add("@CustName", OleDbType.VarChar).Value = CustName
        cmd.Parameters.Add("@Table", OleDbType.VarChar).Value = Table
        cmd.Parameters.Add("@Cost", OleDbType.Decimal).Value = Cost
        cmd.Parameters.Add("@Price", OleDbType.Decimal).Value = Price
        cn.Open()
        cmd.ExecuteNonQuery()
    End Using
End Sub

暫無
暫無

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

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