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の説明に変更しましたが、これはどのように動作するべきかを簡単に読んだところで、「必要なパラメータは指定されていません。
ありがとう。私はこれをして、今度はもう一度、実行中の読者に、1つ以上の必要なパラメータに値が与えられていないと言ってエラーを出す... – Tomcat
@ user1335008 - 私はあなたがOleDbを使用していることを忘れていました。回答が更新されました。 – Oded