Chlochou Geschrieben 27. Februar 2012 Geschrieben 27. Februar 2012 Hallo miteinander! Mal wieder ein Problem zu dem ich einfach keine Lösung finde :S Habe ein Projekt bei dem man Benutzername und Passwort eingeben muss. Dazu hab ich auch im Internet einen Code gefunden und auf meine Daten angepasst. Jetzt kommt jedoch immer wenn ich ausführe folgender Fehler bzw. Meldung: Die Verbindung wurde nicht geschlsosen. Der aktuelle Status der Verbindung ist "Geöffnet". Habe noch Kommentare in den Code gepostet damit ihr vllt auch versteht wo ich nen Denkfehler oder was auch immer habe Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click Dim mypath = Application.StartupPath & "P:\garantieabwicklung.accdb" Dim Password = "" Dim conn As New OleDbConnection("Provider =" & "Microsoft.ACE.OLEDB.12.0;Data Source = P:\garantieabwicklung.accdb") Dim cmd As OleDbCommand 'Verbindungsdaten werden angegeben 'Abfrage ob die Daten in den Textboxen mit denen in der DB übereinstimmen Dim sql = "SELECT Username,Password FROM Login WHERE Username = '" & txtBenutzername.Text & "' AND Password = '" & txtPasswort.Text & "'" 'Verbindung öffnen conn.Open() cmd = New OleDbCommand(sql, conn) Dim dr As OleDbDataReader = cmd.ExecuteReader Try 'Versucht eine Verbindung herzustellen conn.Open() Catch ex As InvalidOperationException 'Ansonsten ein Fehlercode MsgBox(ex.Message) End Try Try 'Wenn man keine Übereinstimmung findet-> Fehlermeldung If dr.Read = False Then MessageBox.Show("FEHELR! BENUTZERNAME ODER PASSWORT FALSCH") Else 'Ansonsten ist es erfolgreich und die folge Form wird angezeigt. MessageBox.Show("Login Erfolgreich") frmFormular.Show() End If Catch ex As Exception MsgBox(ex.Message) End Try If conn.State <> ConnectionState.Closed Then conn.Close() End If End Sub
Aliter Geschrieben 27. Februar 2012 Geschrieben 27. Februar 2012 Hab nicht wirklich viel Ahnung von Access und .NET, aber du rufst zweimal conn.open() auf. Liegt es vielleicht daran? Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click Dim mypath = Application.StartupPath & "P:\garantieabwicklung.accdb" Dim Password = "" Dim conn As New OleDbConnection("Provider =" & "Microsoft.ACE.OLEDB.12.0;Data Source = P:\garantieabwicklung.accdb") Dim cmd As OleDbCommand 'Verbindungsdaten werden angegeben 'Abfrage ob die Daten in den Textboxen mit denen in der DB übereinstimmen Dim sql = "SELECT Username,Password FROM Login WHERE Username = '" & txtBenutzername.Text & "' AND Password = '" & txtPasswort.Text & "'" 'Verbindung öffnen [B][SIZE="4"]conn.Open()[/SIZE][/B] cmd = New OleDbCommand(sql, conn) Dim dr As OleDbDataReader = cmd.ExecuteReader Try 'Versucht eine Verbindung herzustellen [B][SIZE="4"]conn.Open()[/SIZE][/B] Catch ex As InvalidOperationException 'Ansonsten ein Fehlercode MsgBox(ex.Message) End Try Try 'Wenn man keine Übereinstimmung findet-> Fehlermeldung If dr.Read = False Then MessageBox.Show("FEHELR! BENUTZERNAME ODER PASSWORT FALSCH") Else 'Ansonsten ist es erfolgreich und die folge Form wird angezeigt. MessageBox.Show("Login Erfolgreich") frmFormular.Show() End If Catch ex As Exception MsgBox(ex.Message) End Try If conn.State <> ConnectionState.Closed Then conn.Close() End If End Sub
Chlochou Geschrieben 27. Februar 2012 Autor Geschrieben 27. Februar 2012 Zum Glück kann man vor dem PC laut fluchen.. DANKE!! Ich hab das echt nicht mehr gesehen.. :S Hab jetzt einfach das zweite conn.open weggemacht und wuhuuu es funktioniert!
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden