Tạo form đăng nhập liên kết CSDL Access (Login Form – VB.Net)

Trong bài viết này tôi sẽ hướng dẫn bạn thực hiện kết nối từ VB.Net đến CSDL trong Access. Thực thi câu truy vấn  để kiểm tra thông tin đăng nhập có chính xác hay không.

  1. Tạo bảng dữ liệu trong Access:

    tạo bảng tblUser có cấu trúc như sau: với trường User và Pass để lưu thông tin tài khoản và mật khẩu đăng nhập.
    Tạo bảng TblUser trong Access

  2. Tạo mới Form đăng nhập

    a. Tạo mới Window Form: Chuột phải bên thanh Solution Explore chọn Add/Windows Form 
    Add Windows Formb.Chọn Login Form từ danh sách các Form có sẵn

    Chọn Login Form

  3. Viết sự kiện cho Form đăng nhập
    Sự kiện cho nút OK trong Form đăng nhập

    a.Thêm thư viện cho Form Login: Sử dụng gói System.Data.OleDb

    Imports System.Data.OleDb

    b. Khai báo biến: biến myconnection để thực hiện kết nối đến CSDL

    Dim myConnection As OleDbConnection = New OleDbConnection
    Dim provider As String
    Dim dataFile As String
    Dim connString As String

    c.Đoạn mã kết nối với CSDL:
    provider: chọn phiên bản Access phù hợp hiện tại thường sử dụng Microsoft.ACE.OLEDB.12.0
    dataFile: chọn đường dẫn đến file Access

    provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source ="
    dataFile = "C:\data.accdb"
    connString = provider & dataFile
    myConnection.ConnectionString = connString
    

    e. Thưc hiện truy vấn đến file Access, lọc ra bản ghi trong bảng tblUser với User trùng với ô UsernameTextBox và Pass trùng với PasswordTextbox.

    Dim cmd As OleDbCommand = New OleDbCommand("SELECT * FROM [tblUser] WHERE [User] = '" & UsernameTextBox.Text & "' AND [Pass] = '" & PasswordTextBox.Text & "'", myConnection)
     myConnection.Open()
     Dim dr As OleDbDataReader = cmd.ExecuteReader
    d. Sử dụng HasRows để kiểm tra có tìm được bản ghi nào phù hợp không. Nếu có bản ghi tức điền đúng tên đăng nhập và mật khẩu hàm HasRows sẽ trả về kết quả True,ngược lại nếu tên đăng nhập hoặc mật khẩu sai hàm HasRows sẽ trả về kết quả False
    Dim dr As OleDbDataReader = cmd.ExecuteReader
            If dr.HasRows = True Then
                MsgBox("Success!")
            Else
                MsgBox("False")
            End If

Comments

comments