'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