VB.NET: Proses Login dengan Database Ms Access - Part 1


Bentuk tabel user yang akan kita gunakan:

Kebut mode on, kita bikin UI nya pakai template aja yah. Caranya?
Project --> Add Windows Form...
Pada Common Item pilih windows form, kemudian pilih Login Form dan klik tombol Add.
Dan login form dari template pun terbentuk.
Begitu pula code di belakangnya, terdapat code yang di generate secara otomatis.
Bagian kode yang tidak kita gunakan dapat kita hapus.
Dan seperti biasa kita perlu mengimport OLEDB untuk membuat koneksi Access, di bagian paling atas jendela code.
Imports System.Data.OleDb

Kemudian di antara area class form kita deklarasikan object koneksi dan buat sebuah sub procedure untuk mebuka koneksi.
Dim con As New OleDbConnection   

Sub Open_Koneksi()
    con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0" & _
                           ";Data Source=latihan.accdb;" & _
                           "Persist Security Info=False;"
    con.Open()
End Sub


Lalu kita akan mendeklarasikan sebuah variable integer bernama iFail untuk menghitung berapa kali kesalahan login.
Dim iFail As Integer

Lalu si variable iFail ini diberi nilai initial = 0 pada event form_load.
Private Sub LoginForm1_Load(ByVal sender As Object, _
     ByVal e As System.EventArgs) Handles Me.Load
     iFail = 0
End Sub


Buat ngecek apa login nya bener ato salah, kita bikin fungsi tersendiri bernama CheckLogin yang akan mengembalikan nilai integer. Nilai 1 jika benar dan 0 jika salah.
Function CheckLogin(ByVal UserName As String, _
    ByVal Password As String) As Integer


    Dim cmd As New OleDbCommand
    Dim objValue As Object

    If Not con.State = ConnectionState.Open Then Open_Koneksi()


    Try
        cmd.Connection = con
        cmd.CommandText = "SELECT COUNT(username) AS getin " & _
                          "FROM tbluser WHERE username = " & _
                          "'" & UserName & "' AND " & _
                          "password = '" & Password & "'"

        objValue = cmd.ExecuteScalar()
        con.Close()
        If objValue Is Nothing Then
            Return 0
        Else
            Return
objValue.ToString
        End If
    Catch
myerror As OleDbException
        MessageBox.Show("Error: " & myerror.Message)
    Finally
        con.Dispose()
    End Try
    Return
0
End Function


Proses login dimulai dengan mengisi username dan password kemudian klik tombol OK. Dan berikut ini code yang berada pada event OK_Click.
Private Sub OK_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles OK.Click
    Dim strUserName As String = UsernameTextBox.Text
   
Dim strPassword As String = PasswordTextBox.Text

    If strUserName = String.Empty Then _
       MsgBox("Username belum diisi!") : Exit Sub
   
If strPassword = String.Empty Then _
       MsgBox("Password belum diisi!") : Exit Sub

    Try
        If
CheckLogin(strUserName, strPassword) > 0 Then
            MsgBox("Welcome " & strUserName & "!")
            'tulis code lainnya setelah login disini
            Me.Close()
        Else
            iFail = iFail + 1
            If iFail >= 3 Then
                MsgBox("Gagal login 3 kali." & vbCrLf & _
                       "Aplikasi akan ditutup.")

                End
            End If
            MsgBox("Username/password Salah." & vbCrLf & _
                   "Silahkan cek lagi!")
        End If
    Catch
ex As Exception
        MsgBox("Error Login: " & ex.Message)
    End Try
End Sub


Terakhir tombol Cancel digunakan sebagai pelengkap jika kita batal melakukan proses login. Dalam event Cancel_Click kita akan menyisipkan code untuk menutup form login.
Private Sub Cancel_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Cancel.Click

    Me.Close()

End Sub


Kode selengkapnya di Part 2.

Click here if you like this article.


Post a Comment

0 Comments