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
@ user1335008 - OleDb를 사용하고 싶지 않습니다. 답변이 업데이트되었습니다. – Oded