Philip Woulfe
Philip Woulfe

Reputation: 93

Parameterised Query Visual Basic

I've been having trouble getting parametrised queries to work. The code is working fine without parameterised SQL.

The error I'm getting is 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

Upvotes: 2

Views: 87

Answers (1)

Pradeep Kumar
Pradeep Kumar

Reputation: 6979

You build your Command object but never use it. So your DataAdapter never has the parameter definition.

Replace

Dim adap As New SqlDataAdapter(queryString, conn)

with

Dim adap As New SqlDataAdapter(cmd)

This should most likely solve your problem

Upvotes: 4

Related Questions