我有一个System.NullReferenceException错误mysql选择“COMMAND.CommandText =”选择*从用户其中user = @user和pass = @pass“”在点击按钮。VB Net + Mysql + System.NullReferenceException
MysqlConn = New MySqlConnection(ConfigurationManager.ConnectionStrings("Mydb.My.MySettings.Mydb").ToString)
Dim READER As MySqlDataReader
Me.Cursor = Cursors.WaitCursor
MysqlConn.Open()
COMMAND.CommandText = "select * from Users where user= @user and pass= @pass"
COMMAND.Parameters.AddWithValue("@user", If(String.IsNullOrEmpty(TextBox_Username.Text), DBNull.Value, TextBox_Username.Text))
COMMAND.Parameters.AddWithValue("@pass", If(String.IsNullOrEmpty(TextBox_Password.Text), DBNull.Value, TextBox_Password.Text))
COMMAND = New MySqlCommand(COMMAND.CommandText, MysqlConn)
READER = COMMAND.ExecuteReader
有什么问题?
编辑:
这是完整的代码键:
MysqlConn = New MySqlConnection(ConfigurationManager.ConnectionStrings("Mydb.My.MySettings.Mydb").ConnectionString)
Dim READER As MySqlDataReader
Me.Cursor = Cursors.WaitCursor
MysqlConn.Open()
COMMAND.CommandText = "select * from Users where user= @user and pass= @pass"
COMMAND.Parameters.AddWithValue("@user", If(String.IsNullOrEmpty(TextBox_Username.Text), DBNull.Value, TextBox_Username.Text))
COMMAND.Parameters.AddWithValue("@pass", If(String.IsNullOrEmpty(TextBox_Password.Text), DBNull.Value, TextBox_Password.Text))
READER = COMMAND.ExecuteReader
Dim count As Integer
count = 0
While READER.Read
count = count + 1
End While
If count = 1 Then
MessageBox.Show("Usuario y Contraseña Correctos")
Dim role As String = READER("tipo")
If role = "Administrador" Then
Inicio.Show()
ElseIf role = "Calidad" Then
Calidad.Show()
ElseIf role = "Almacen" Then
Almacen.Show()
ElseIf role = "Oficina" Then
Oficina.Show()
ElseIf role = "Minas" Then
Minas.Show()
End If
Me.Hide()
ElseIf count > 1 Then
MessageBox.Show("Usuario y Contraseña Duplicados")
Else
MessageBox.Show("Usuario y Contraseña Incorrectos")
End If
MysqlConn.Close()
MysqlConn.Open()
COMMAND.CommandText = "insert into Registro_Login (user,fecha,ip) values (@user,@fecha,@ip)"
COMMAND.Parameters.AddWithValue("@user", If(String.IsNullOrEmpty(TextBox_Username.Text), DBNull.Value, TextBox_Username.Text))
COMMAND.Parameters.AddWithValue("@fecha", If(String.IsNullOrEmpty(Label4.Text), DBNull.Value, Label4.Text))
COMMAND.Parameters.AddWithValue("@ip", If(String.IsNullOrEmpty(Label3.Text), DBNull.Value, Label3.Text))
READER = COMMAND.ExecuteReader
MysqlConn.Close()
Me.Cursor = Cursors.Default
但同样的问题
你在哪里定义的命令对象?公共类窗体 昏暗MysqlConn – Sujith
作为的MySqlConnection 昏暗命令的MySqlCommand 昏暗的阅读器了MySqlDataReader – Jamyz
高度怀疑你的命令对象为空 - 没有被初始化,请调试和检查 – Sujith