Hallo zusammen,
ich würde gerne ein kleinen Login mit der Hilfe von OleDbDataAdapter bauen. Leider geht das unten genannte Beispiel nicht, da folgende Fehlermeldung aufkommt "Problembehandlung bei Ausnahmen: System.NullReferenceException"
Kommentar seitens Microsoft hierzu "NullReferenceException wird bei dem Versuch ausgelöst, im Code auf ein nicht vorhandenes Objekt zu verweisen. Möglicherweise haben Sie versucht, ein Objekt zu verwenden, ohne vorher das New-Schlüsselwort zu verwenden. Oder Sie haben versucht, ein Objekt zu verwenden, dessen Wert auf NULL (in Visual Basic: Nothing) festgelegt war.
[...] Sie haben möglicherweise versucht, ein Objekt zu verwenden, ohne eine Instanz des Objekts bereitzustellen. Ändern Sie zum Beispiel Dim CustomerTable As DataTable in Dim CustomerTable As New DataTable."
Leider werde ich daraus auch nicht schlauer, hier mein Code:
---------------------------------------------------------
[highlight=vbnet]
Dim con As New OleDb.OleDbConnection
Dim cmd As New OleDb.OleDbCommand
Dim adapter As New OleDb.OleDbDataAdapter
Dim ds As New DataSet
Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles OK.Click
con.ConnectionString = _
"Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & CurDir() & "\DB_Kundeninformationen.accdb"
Try
cmd.Connection = con
con.Open()
cmd.CommandText = "SELECT * FROM Benutzerdaten WHERE Benutzername = '" _
& txtLogin.Text & "' AND Passwort = '" & txtKennwort.Text & "'"
adapter.SelectCommand = cmd
adapter.Fill(ds)
If ds.Tables(0).Rows.Count > 0 Then
pnlLogin.Hide()
pnlHautpmenueAdmin.Show()
Else
MsgBox("Leider ist die eingegebene Kombination nicht bekannt.", _
MsgBoxStyle.Critical)
End If
con.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub[/highlight]
---------------------------------------------------------
Ich bin kein Experte, der Code oben scheint mir logisch, doch wo ist der Fehler?
Ich würde mich sehr freuen. Beste Grüße!
ich würde gerne ein kleinen Login mit der Hilfe von OleDbDataAdapter bauen. Leider geht das unten genannte Beispiel nicht, da folgende Fehlermeldung aufkommt "Problembehandlung bei Ausnahmen: System.NullReferenceException"
Kommentar seitens Microsoft hierzu "NullReferenceException wird bei dem Versuch ausgelöst, im Code auf ein nicht vorhandenes Objekt zu verweisen. Möglicherweise haben Sie versucht, ein Objekt zu verwenden, ohne vorher das New-Schlüsselwort zu verwenden. Oder Sie haben versucht, ein Objekt zu verwenden, dessen Wert auf NULL (in Visual Basic: Nothing) festgelegt war.
[...] Sie haben möglicherweise versucht, ein Objekt zu verwenden, ohne eine Instanz des Objekts bereitzustellen. Ändern Sie zum Beispiel Dim CustomerTable As DataTable in Dim CustomerTable As New DataTable."
Leider werde ich daraus auch nicht schlauer, hier mein Code:
---------------------------------------------------------
[highlight=vbnet]
Dim con As New OleDb.OleDbConnection
Dim cmd As New OleDb.OleDbCommand
Dim adapter As New OleDb.OleDbDataAdapter
Dim ds As New DataSet
Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles OK.Click
con.ConnectionString = _
"Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & CurDir() & "\DB_Kundeninformationen.accdb"
Try
cmd.Connection = con
con.Open()
cmd.CommandText = "SELECT * FROM Benutzerdaten WHERE Benutzername = '" _
& txtLogin.Text & "' AND Passwort = '" & txtKennwort.Text & "'"
adapter.SelectCommand = cmd
adapter.Fill(ds)
If ds.Tables(0).Rows.Count > 0 Then
pnlLogin.Hide()
pnlHautpmenueAdmin.Show()
Else
MsgBox("Leider ist die eingegebene Kombination nicht bekannt.", _
MsgBoxStyle.Critical)
End If
con.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub[/highlight]
---------------------------------------------------------
Ich bin kein Experte, der Code oben scheint mir logisch, doch wo ist der Fehler?
Ich würde mich sehr freuen. Beste Grüße!
Comment