+1

Kết nối với Access Database sử dụng Visual Basic

Khi làm việc với CSDL Access, chúng ta cần kết nối với CSDL để có thể tự do thao tác thêm, sửa, xóa trong CSDL. Ở bài viết này mình sẽ hướng dẫn các bạn tạo kết nối với CSDL Access sử dụng Visual Basic. Bắt đầu thôi!

Tạo CSDL Access

Đầu tiên ta tạo một CSDL Access mẫu như sau:

Thêm vào một vài dữ liệu mẫu:

Vậy là xong phần chuẩn bị dữ liệu.

Tạo ứng dụng Visual Basic

Mở Visual Studio, chọn File -> New -> Project và chọn phần Visual Basic -> Windows Classic Desktop -> Windows Form App (.NET Framework). Ở đây mình đặt tên project là EmployeeManagement, sau đó nhấn OK để tạo project mới.

Đến đây, tại màn hình Design, double click vào Form1 sẽ đưa bạn đến phần code control của Form đó. Sau khi đưa bạn đến phần code controll, do double click vào form chúng ta đã được Visual Studio tự động generate ra hàm sẽ handle việc load của form. Tại đây chúng ta sẽ thêm code để kết nối đến AccessDB.

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim connectionStatus As Boolean = OpenConnection("EmployeeDB.accdb", "")
        If connectionStatus Then
            MessageBox.Show("Connected")
        End If

    End Sub

    Private Function OpenConnection(ByVal FileName As String, ByVal Password As String) As Boolean
        Dim constr As String
        constr = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & FileName &
                "; Persist Security Info=True; Jet OLEDB:Database Password=" & Password

        Try
            _Connection = New OleDbConnection
            _Connection.ConnectionString = constr
            _Connection.Open()

            Return True

        Catch ex As Exception
            MessageBox.Show("Failed to connect to AccessDB")
            Return False
        End Try
    End Function

Tại đây trong hàm connection, điền đường dẫn tới file Database của Access. Ở đây file DB của mình là EmployeeDB.accdb và không có password. Sau khi kết nối thành công với AccessDB, chúng ta thực hiện câu lệnh truy vấn tới DB để get ra list toàn bộ thông tin của Employee.

Private Function GetData() As DataTable
        Dim return_value As New DataTable
        Dim query = "SELECT * FROM Employees"
        Dim ada As New OleDbDataAdapter(query, CType(_Connection, OleDbConnection))
        ada.Fill(return_value)
        Return return_value
    End Function

Hàm GetData() sẽ trả về một DataTable. Chúng ta sẽ thêm một DataGridView, đặt tên là EmployeeTable vào Form, sau đó chọn datasource là DataTable có được từ hàm GetData để show lên kết quả:

EmployeeTable.DataSource = data

Kết quả:

Toàn bộ source code:

Imports System.Data.OleDb

Public Class Form1

    Private _Connection As IDbConnection

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim connectionStatus As Boolean = OpenConnection("EmployeeDB.accdb", "")
        If connectionStatus Then
            Dim data = GetData()
            EmployeeTable.DataSource = data
        End If

    End Sub

    Private Function OpenConnection(ByVal FileName As String, ByVal Password As String) As Boolean
        Dim constr As String
        constr = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & FileName &
                "; Persist Security Info=True; Jet OLEDB:Database Password=" & Password

        Try
            _Connection = New OleDbConnection
            _Connection.ConnectionString = constr
            _Connection.Open()

            Return True

        Catch ex As Exception
            MessageBox.Show("Failed to connect to AccessDB")
            Return False
        End Try
    End Function

    Private Function GetData() As DataTable
        Dim return_value As New DataTable
        Dim query = "SELECT * FROM Employees"
        Dim ada As New OleDbDataAdapter(query, CType(_Connection, OleDbConnection))
        ada.Fill(return_value)
        Return return_value
    End Function
End Class

Cảm ơn các bạn đã đọc bài của mình 😄


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí