2017-10-09 11 views
0
Dim ProductID As String = DataGridView2.Rows(Newewew).Cells(0).Value 
Dim BuyPrice As Decimal = DataGridView2.Rows(Newewew).Cells(2).Value 
Dim SellPrice As Decimal = DataGridView2.Rows(Newewew).Cells(3).Value 
Dim ProductCount As Decimal = DataGridView2.Rows(Newewew).Cells(4).Value 
Dim Command3 As New OleDb.OleDbCommand 
Data = "insert into ProductReceiptDetails" &"(receiptID,Product ID,ProductCount,BuyPrice,SellPrice) " & "values " & "(:0,:1,:2,:3,:4)" 

Command3.Connection = Newconnection 
Command3.Transaction = NewTransac 
Command3.CommandText = Data 
Command3.Parameters.AddWithValue(":0", receiptID) 
Command3.Parameters.AddWithValue(":1", ProductID) 
Command3.Parameters.AddWithValue(":2", ProductCount) 
Command3.Parameters.AddWithValue(":3", BuyPrice) 
Command3.Parameters.AddWithValue(":4", SellPrice) 
Command3.ExecuteNonQuery() 
Command3.Dispose() 

' ... 

Dim Data As String = "INSERT INTO ReceiptDetails (ReceiptDate,ReceiptTotal) " & "values " & "(:0,:1)" 
Dim Command As New OleDb.OleDbCommand 
Command.Connection = Newconnection 
Command.Transaction = NewTransac 
Command.CommandText = Data 
Command.Parameters.AddWithValue(":0", Now.Date) 
Command.Parameters.AddWithValue(":1", TextBox4.Text) 
Command.ExecuteNonQuery() 

このエラーで私を助けることができますか?私はVS 2008とMS Access 2013を使用しています。テーブル名とカラム名はすべて正しいですが、常にエラーが発生します。 構文に誤りがあります

Data = "insert into ProductReceiptDetails (receiptID,[Product ID],ProductCount,BuyPrice,SellPrice) values (?,?,?,?,?)" 

とデータ型を指定する Command3.Parameters.Add("@parameter0", ..)を使用します。

+0

DAtaTableとDataAdapterを使用すると、そのコードは必要ありません。 DBプロバイダオブジェクトはすべての作業を実行できます。 – Plutonix

答えて

0

は、ブラケットと適切な間隔と質問マークを試してみてください。

+0

確かに。コロン接頭辞はオラクルのためのものだと思いますが、それはMySQLかもしれません。 2つのうちの1つですが、アクセスは間違いありません。 – jmcilhinney

関連する問題