System.NullReferenceExceptionでエラーが発生しました。「COMMAND.CommandText =」select * from 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
しかし、同じ問題
で
:
はこれを置き換えますか? MySqlDataReader – Sujith
は非常にあなたのCOMMANDオブジェクトがnullであることを疑う - 初期化されていない、デバッグし、[OK]を解決 – Jamyz
としてされたMySqlCommand 薄暗いREADERとしてMySqlConnectionに 薄暗いコマンドとして公開クラスフォーム 点心MysqlConnで – Sujith