0
statement = "SELECT OrderID, (SELECT VendName FROM Vendors WHERE Vendors.VendorID = Orders.VendorID) " &
",OrderDt, RcvdDt, OrderTotal " &
"FROM Orders " &
"WHERE VendName=? " &
"ORDER BY OrderDt DESC"
Dim cmd As New OleDbCommand(statement, connection)
cmd.Parameters.AddWithValue("VendName", txtVendorFilter.Text)
Dim reader As OleDbDataReader = cmd.ExecuteReader(CommandBehavior.Default)
我試圖通過簡單地將文本框值連接到SQL,然後我得到一個「沒有給出所需參數的值」,並閱讀,我應該使用而不是參數化查詢。所以我嘗試了這個,它不會給我任何錯誤,但讀者從來沒有任何錯誤。我從來沒有使用過參數化查詢,所以我有點失落,爲什麼這不起作用。參數化的查詢不工作在VB
編輯: 我已經改變了上面的代碼來說明OLEDB的內容,我簡要地介紹了它應該如何工作,並且它給了我「再次爲所需參數給出的值」。
謝謝。我這樣做了,現在它又一次給了我一個執行讀者的錯誤,說沒有給出一個或多個所需參數的值... – Tomcat 2012-04-15 20:31:58
@ user1335008 - 我錯過了你正在使用OleDb。答案已更新。 – Oded 2012-04-15 20:34:31