bassdriver
Goto Top

Login Script mit access datenbank

Login mit access Datenbank

Hallo zusammen,

ich möchte ein Login Script erstellen, wobei der Username und das Passwort von einer Access Datenbak abgefragt wird.
Derzeit hab ich mit Tutorials schon ein Script gefunden bzw. angepasst.
Leider hab ich das Problem, das immer bei einer Zeile ein fehler erscheint.

Das Script:
        Dim conn As New OleDbConnection
        Dim myConnectionString As String
        Dim PW As String
        Dim Nickname As String
        PW = txtPasswort.Text.Replace("'", "")  
        Nickname = txtBenutzername.Text.Replace("'", "")  
        myConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=C:/SCC/scc.mdb"  
        conn.ConnectionString = myConnectionString
        Try
            conn.Open()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
        Dim myAdapter As New OleDbDataAdapter
        Dim sqlquery = "SELECT personalnummer, passwort FROM s_login Where personalnummer='" & Nickname & "' and passwort='" & PW & "'"  
        Dim myCommand As New OleDbCommand
        myCommand.Connection = conn
        myCommand.CommandText = sqlquery
        myAdapter.SelectCommand = myCommand
        Dim myData As OleDbDataReader
        myData = myCommand.ExecuteReader()

        If myData.HasRows = 0 Then
            MsgBox("Die Logindaten wurden Falsch angegeben!", MsgBoxStyle.Information, " Login...!")  
        Else

            myData.Close()
            conn.Close()
            Menü.Visible = True
        End If
Bei der Zeile:

myData = myCommand.ExecuteReader()

Zeigt er mir immer einen Fehler an:

"OleDBExeption wurde nicht behandelt"

Was muss ich da machen?
ich verstehe den einfach Fehler nicht

MFG Bassdriver

[Edit Biber] Code-Formatierung. [/Edit]

Content-Key: 150249

Url: https://administrator.de/contentid/150249

Printed on: April 23, 2024 at 07:04 o'clock

Member: Biber
Biber Sep 02, 2010 at 16:22:10 (UTC)
Goto Top
Moin Bassdriver,

auch wenn ich kein ausgesprochener Anhänger der so genannten Copy&Paste-Programmierung bin...
Was spricht denn in deinem Fall dagegen, den Try-Catch-Block, den du bei der Connection verwendest, zweimal an die anderen Stellen zu kopieren, wo definitiv eine Vielzahl von Fehlern auftreten kann?

Oder gibt es eine unternehmensinterne Richtlinie bei euch, die nur einen behandelten Fehler pro Modul erlaubt?

Grüße
Biber
Member: Bassdriver
Bassdriver Sep 02, 2010 at 20:43:52 (UTC)
Goto Top
Hi Biber,

vielen Dank erstmal für die schnelle antwort.

Sorry ich bin ein totaler anfänger bei der Datenbankprogrammierung in VB 2010.

Ich hab jetzt nochein Try-Catch hinzugefügt und der angezeigte Fehler wurde behoben.
Allerdings wenn ich jetzt die Daten und anschließend auf Login klicke, passiert einfach nichts.

Wie kann das sein und was kann ich dort verbessern?

Script aktuell:
        Dim conn As New OleDbConnection
        Dim myConnectionString As String
        Dim PW As String
        Dim Nickname As String
        PW = txtPasswort.Text.Replace("'", "")  
        Nickname = txtBenutzername.Text.Replace("'", "")  
        myConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=C:/SCC/scc.mdb"  
        conn.ConnectionString = myConnectionString
        Try
            conn.Open()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
        Dim myAdapter As New OleDbDataAdapter
        Dim sqlquery = "SELECT personalnummer, passwort FROM s_login Where personalnummer='" & Nickname & "' and passwort='" & PW & "'"  
        Dim myCommand As New OleDbCommand
        myCommand.Connection = conn
        myCommand.CommandText = sqlquery
        myAdapter.SelectCommand = myCommand
        Dim myData As OleDbDataReader
        Try

        Catch ex As Exception
            MessageBox.Show(ex.Message)
            myData = myCommand.ExecuteReader()

            If myData.HasRows = 0 Then
                MsgBox("Die Logindaten wurden Falsch angegeben!", MsgBoxStyle.Information, " Login...!")  
            Else

                myData.Close()
                conn.Close()
                Menü.Visible = True
            End If
        End Try