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, и я получил «Нет значений для обязательных параметров» и прочитал, что вместо этого я должен использовать параметризованные запросы. Итак, я попробовал это, и это не дает мне никаких ошибок, но в ридере ничего нет. Я никогда раньше не использовал параметризованные запросы, поэтому немного не понимаю, почему это не работает.
Изменить: я изменил приведенный выше код для учета OLEDB из того, что я кратко прочитал о том, как он должен работать, и он снова дает мне «нет значений для обязательных параметров».