我的代码工作正常,直到我添加参数。从那以后我收到了这个错误:
未处理的类型' System.NullReferenceException'发生在NewMonitoringSystem.exe
附加信息:未将对象引用设置为对象的实例。
我需要有关如何修复此错误的帮助。 这是我的代码: 此代码的第10行出错
Private Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click
frmMainMenu.Height = 720
frmMainMenu.Width = 950
Dim numID As Integer = 2
cmd.Connection = cn
cn.Open()
cmd.CommandText = "SELECT ID, username, password FROM tblUsers WHERE username = @username and password = @password"
cmd.Parameters.Add(New SqlClient.SqlParameter("@username", SqlDbType.VarChar, 20)).Value = txtUsername.Text
cmd.Parameters.Add(New SqlClient.SqlParameter("@password", SqlDbType.VarChar, 20)).Value = txtPassword.Text
If dr.HasRows Then
dr.Read()
If dr("ID") = numID Then
Me.Hide()
frmMainMenu.lblAccessLevel.Text = "Admin"
frmMainMenu.Show()
Else
Me.Hide()
frmMainMenu.lblAccessLevel.Text = "User"
frmMainMenu.TSMOffertory.Enabled = False
frmMainMenu.TSMOffertory.Visible = False
frmMainMenu.Show()
End If
Else
MsgBox("Invalid Credentials", MsgBoxStyle.Exclamation, "Invalid LogIn")
End If
cn.Close()
End Sub
答案 0 :(得分:0)
dr = cmd.ExecuteReader
找到解决方案。只需在参数后添加该行。