none
Problema con un loop no deseado RRS feed

  • Pregunta

  • Hola A todos

    Tengo un pequeño problema que no la encuentro solucion. Me baje un codigo para verificar el user y password (NO ES MIO), y funciona perfectamente, pero y ahi es donde viene vuestra experiencia, me hace un loop (creo que asi se llama), y no se cierra, es decir, que una vez que acepta el password aparece la FORM3 (a donde tiene que ir ) y sigue apareciendo constatemente la form Loginform1 sin poder quitarlo. Os dejo el codigo que lo he sacado del enlace http://www.rollybueno.info/how-to-create-login-form-in-vb-net/.

    Module Conexion_basededatos_Password
        Public Sub abrir_basededatos_Password()
            ' Check if username or password is empty
            If LoginForm1.MaskedTextBox2.Text = "" Or LoginForm1.MaskedTextBox3.Text = "" Then
                MessageBox.Show("Please complete the required fields..", "Authentication Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Else
                ' Both fields was supply
                ' Check if user exist in database
                ' Connect to DB
                Dim conn As New System.Data.OleDb.OleDbConnection()
                conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Francisco\Documents\Database1.accdb"
                Try
                    Dim sql As String = "SELECT * FROM Login WHERE Username='" & LoginForm1.MaskedTextBox2.Text & "' AND Password = '" & LoginForm1.MaskedTextBox3.Text & "'"
                    Dim sqlCom As New System.Data.OleDb.OleDbCommand(sql)
                    'Open Database Connection
                    sqlCom.Connection = conn
                    conn.Open()
                    Dim sqlRead As System.Data.OleDb.OleDbDataReader = sqlCom.ExecuteReader()
    
                    If sqlRead.Read() Then
                        Form3.Show()
                        LoginForm1.Close()
                    Else
                        ' If user enter wrong username and password combination
                        ' Throw an error message
                        MessageBox.Show("Username and Password do not match..", "Authentication Failure", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                        'Clear all fields
                        LoginForm1.MaskedTextBox2.Text = ""
                        LoginForm1.MaskedTextBox3.Text = ""
                        'Focus on Username field
                        LoginForm1.MaskedTextBox2.Focus()
                    End If
                Catch ex As Exception
                    MessageBox.Show("Failed to connect to Database..", "Database Connection Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
                End Try
            End If
        End Sub
    End Module

    • Cambiado Enrique M. Montejo martes, 10 de junio de 2014 7:10 Pregunta relacionada con abrir y cerrar formularios.
    domingo, 8 de junio de 2014 13:56

Todas las respuestas

  • Problem resolved.

    El problema era el timer que no lo paraba, es decir, tenia la instruccion Timer1.Star, pero al final del codigo

    no ponia Timer.Stop. Una vez puesto esta instruccion toda funciona perfectamente.

    El codigo arriba desarrollado le falta la parte del timer, sorry for that.

    Una saludo, y gracias por todo

    • Propuesto como respuesta Sergio Parra martes, 10 de junio de 2014 8:19
    martes, 10 de junio de 2014 8:17