我一直很难让参数化的问询正常工作。在没有参数化SQL的情况下,代码运行良好。
我得到的错误是Must declare the scalar variable @RegNo。
Dim conn As New SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\dbsBank.mdf;Integrated Security=True")
Dim queryString As String = "SELECT PAC FROM Customers WHERE Registration_No = @RegNo"
Dim cmd As New SqlCommand(queryString, conn)
Dim param As SqlParameter = New SqlParameter("@RegNo", SqlDbType.Int)
param.Value = mtbPassword.Text
cmd.Parameters.Add(param)
Dim adap As New SqlDataAdapter(queryString, conn)
dTable = New DataTable
Try
adap.Fill(dTable)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try发布于 2015-09-06 14:58:05
您可以构建Command对象,但从不使用它。因此,您的DataAdapter从来没有参数定义。
替换
Dim adap As New SqlDataAdapter(queryString, conn)使用
Dim adap As New SqlDataAdapter(cmd)这很有可能解决你的问题
https://stackoverflow.com/questions/32424777
复制相似问题