Members

Technology Zones

Articles

Hosted By

MaximumASP

Info

Rated
Read 42,227 times

Related Categories

Login Form

Safreak

This code allows a user to login to another form if that user has a profile within a database.  Since many newbies are often looking for login code, hopefully this simple Access example will be helpful.  You will need a login button called Login and two textboxes called username and password.

' Place this code under your Public Class.  If your form name is Login, then place it under Public Class Login
    Inherits System.Windows.Forms.Form
    Dim iCount As Integer ' this integer is declared to help count the number of imes a user tried to login.
    Dim frmMain As New MainScreen ' this line declares a variable that will point the user to the Main Screen upon a successful login.  The second form created is called MainScreen.vb
    Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click
        'The connection string is used to describe the type of database, the security information and the location to the database.
        Dim ConString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=""databasename.mdb"";"
        'Create a new connection object and assign the ConString Connection String above
        Dim DBCon As New OleDb.OleDbConnection(ConString)
' g_login is a global variable defined in a Module that captures the login name and passes it from form to form.  To create this, just create a Module, say Module1.vb and in it put "Public g_login as String" {g meaning global and login to represent the global login}
        g_login = Me.txtUsername.Text

        Dim strPassword As String = Me.txtPassword.Text

        If g_login = "" Or strPassword = "" Then
            MessageBox.Show("You are missing information. Please make sure that both the username and password fields are filled out.", "Missing Info")
            Me.txtUsername.Focus()
            Return
        End If
' The database has two fields in the Users table.  A UserID field, which is the primary key and declared as a text.  The other field is Password, which is a text as well.
        Dim strsql As String = "SELECT [UserID], [Password] FROM Users WHERE [UserID]='" & g_login & "' "

        Dim cm As New OleDb.OleDbCommand(strsql, DBCon)
        Dim dr As OleDb.OleDbDataReader
        Dim valid As Boolean = False
        Dim HasRows As Boolean = False
        Try
            DBCon.Open()
            dr = cm.ExecuteReader
            If dr.HasRows Then
                While dr.Read
                    If strPassword = dr.Item("Password") Then
                        valid = True
                    End If
                End While
                HasRows = True
            End If
            dr.Close()
        Catch exO As OleDb.OleDbException
            MessageBox.Show(exO.Message)
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        Finally
            If DBCon.State = ConnectionState.Open Then
                DBCon.Close()
            End If
            cm = Nothing
            dr = Nothing
            DBCon.Dispose()
            GC.Collect()
        End Try
        iCount = iCount + 1
        If valid = True Then
            Me.Hide()
            frmMain.Show()
        ElseIf iCount = 3 Then
            MessageBox.Show("Contact Safreak!", "Invalid Info")
            Me.Close()
        ElseIf HasRows = False Then
            MessageBox.Show("Invalid user name, try again!", "Invalid Info")
            Me.txtUsername.Focus()
            Me.txtUsername.Text = ""
            Me.txtPassword.Text = ""
        Else
            MessageBox.Show("Invalid password, try again!", "Invalid Info")
            Me.txtPassword.Focus()
            Me.txtPassword.Text = ""
        End If

    End Sub

Comments

  • Re: [5040] Login Form

    Posted by BalooBear on 02 May 2008

    Hi there Safreak,


     I've been trying to use your login code without success... i am trying to creat a windows forms application with VB 2008 express and ...

  • Re: [5040] Login Form

    Posted by shananne81 on 13 Mar 2008

    Hi,


    Thank you for your interest in helping me out.


    Im using visual basic general developments.


    Iam using data...

  • Re: [5040] Login Form

    Posted by Safreak on 13 Mar 2008

    I'd be glad to help you with the login form.  Are you using Visual Studio, Visual Web Developer, or another editor like Dreamweaver?  Also, what type of database are you u...

  • Re: [5040] Login Form

    Posted by shananne81 on 11 Mar 2008

    Hi,


    Could you please help me with the login form ...coz the example given does not work with me,...im using Visual Basic 6

  • Re: [5040] Login Form

    Posted by decklon on 04 May 2007

    This code works fine, but then i need to fetch from the user's profile his full name in order to welcome him with his name. Can you pls help me out? Thanx