参数化查询Visual Basic
问题描述:
我一直无法使参数化查询工作。代码工作正常,没有参数化的SQL。参数化查询Visual Basic
我得到的错误是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
答
你建立你的Command
对象,但从来没有使用它。所以你的DataAdapter
从来没有参数定义。
更换
Dim adap As New SqlDataAdapter(queryString, conn)
与
Dim adap As New SqlDataAdapter(cmd)
这应该最有可能解决您的问题
+0
啊,谢谢。这很有道理。 –
你有一个额外')'在查询结束。 –
我尝试了一些东西后忘记删除它,但这不是问题的原因。 –
您正在声明并创建一个'Command'对象,但从不使用它。这是错误的原因。 –