1 Mục lục 1 2 Làm quen với visual basic 0 9


Sử dụng DAO để làm việc với dữ liệu



tải về 1.69 Mb.
trang28/39
Chuyển đổi dữ liệu09.10.2016
Kích1.69 Mb.
#32631
1   ...   24   25   26   27   28   29   30   31   ...   39

13.2 Sử dụng DAO để làm việc với dữ liệu


DAO được dùng chủ yếu để thao tác trên dữ liệu trong một cơ sở dữ liệu đã có. Thi hành truy vấn, cập nhật mẩu tin, và thi hành các hoạt động bảo trì là sở trường của DAO.

13.2.1Dùng đối tượng DataBase để kết nối với một CSDL


Đối tượng Database là nơi để ứng dụng bắt đầu phần lớn các truy cập cơ sở dữ liệu của nó. Để dùng đối tượng Database, ta bắt đầu lập tham chiếu đến Microsoft DAOs trong menu Project References của Visual Basic .. Điều này sẽ cho phép ứng dụng tăng cường truy cập đến mọi đối tượng do DAO cung cấp.

Để thực hiện điều này, ta theo các bước sau:



  1. Từ menu Project, chọn References.

  2. Hộp thoại References xuất hiện. Từ danh sách các thư viện, chọn vào hộp đánh dấu “Microsoft DAO 3.5.1 Object Library”.

  3. Nhấn OK. Giờ đây, ta có thể dùng đối tượng được cung cấp bởi thư viện đối tượng DAO.

Bước kế tiếp là khai báo một biến đối tượng cơ sở dữ liệu trong chương trình :

Dim db As Database

Nếu ứng dụng được thiết kế để làm việc với một cơ sở dữ liệu duy nhất, tốt nhất ta nên khai báo biến Database ở mức mô-dun của biểu mẫu chính của ứng dụng.

Nếu nhiều biểu mẫu ứng dụng cần truy cập đến một cơ sở dữ liệu, ta nên tạo một lớp quản lý kết nối đến cơ sở dữ liệu.

13.2.1.1Sử dụng phương thức OpenDatabase để tạo một đối tượng Database


Đây là phương thức của đối tượng Workspace

Ta dùng phương thức OpenDatabase để tạo một đối tượng Database. Phương thức này trả về một đối tượng Database ( do đó, trước khi dùng OpenDatabase, ta phải khai báo một biến đối tượng có kiểu là Database để chứa giá trị trả về của phương thức ).

Dim db As Database

Set db = OpenDatabase("..\..\DB\novelty.mdb")

Msgbox “The database “ & db.Name & “is now open.”

Phương thức OpenDatabase có tham số bắt buộc – tên của cơ sở dữ liệu ta muốn mở.

Cú pháp : (Đối tượng Workspace được mặc định )

OpenDatabase(dbName, [options], [readonly],[connect])




Tham số

Mô tả

Options

Nếu tham số này là true,cơ sở dữ liệu mở trong chế độ loại trừ; không ai có thể mở cơ sở dữ liệu trong chế độ loại trừ. Nếu giá trị này là false, những người khác có thể mở cơ sở dữ liệu.

Readonly

Nếu tham số này là True, ta không thể sửa đổi cơ sở dữ liệu.

Connect

một chuỗi chỉ ra cách thức kết nối với cơ sở dữ liệu; chuỗi thường chỉ được dùng cho những nguồn dữ liệu Client / Server ODBC.

13.2.1.22.1.2 Sử dụng phương thức Execute để thi hành truy vấn hành động


Sử dụng Execute của đối tượng Database để thi hành một câu lệnh SQL trên SQL. Phương thức này nên dùng để:

  • Cập nhật, xoá hay sao chép mẩu tin (trong Access / Jet, ta gọi là các truy vấn hành động )

  • Sửa cấu trúc dữ liệu

Các câu truy vấn SELECT được thi hành qua phương thức OpenRecordset của Database.

13.2.2Sử dụng đối tượng Recordset


Ta sử dụng đối tượng Recordset để thao tác với các mẩu tin trong DAO. Đối tượng Recordset cung cấp một giao diện hướng đối tượng cho mô hình cơ sở dữ liệu quan hệ liên quan đến các bảng được chia thành những mẩu tin và trường.

Để tạo một recordset, ta chủ yêu sử dụng phương thức OpenRecordset.


13.2.2.1Sử dụng phương thức OpenRecordset để tạo một đối tượng Recordset


Trong DAO, các đối tượng Database, Connection, QueryDef, TableDef, Recordset đều có phương thức OpenRecordset. Tất cả đều được dùng với cùng mục đích; truy cập dữ liệu chứa trong cơ sở dữ liệu.

Phương thức OpenRecordset thực sự là một hàm trả về một đối tượng Recordset, ta cần khai báo một đối tượng Recordset trước khi sử dụng OpenRecordset.

Dim db As Database

Dim rs As Recordset

Set db = OpenDatabase("..\..\db\novelty.mdb")

Set rs = db.OpenRecordset("tblCustomer")

Tham số bắt buộc duy nhất của phương thức OpenRecordset là nguồn dữ liệu. Đây là chuỗi ký tự, theo nguyên tắc là tên của một bảng hoặc một định nghĩa truy vấn chứa sẵn. Nhưng nó cũng có thể là một câu lệnh SELECT SQL:

Dim db As Database

Dim rs As Recordset

Set db = OpenDatabase("..\..\db\novelty.mdb")

Set rs = db.OpenRecordset("SELECT * FROM tblCustomer" & _

" Order By [LastName]")


13.2.2.2Tránh dùng dấu trích dẫn


Ta thường có câu lệnh SQL:

SELECT * FROM tblCustomer WHERE [LastName]="Smith"

Làm thế nào để đưa vào OpenRecordset mà không bị nhầm dấu ":

Giải pháp sử dụng dấu đơn :

Dim db As Database

Dim rs As Recordset

Set db = OpenDatabase("..\..\db\novelty.mdb")

Set rs = db.OpenRecordset("SELECT * FROM tblCustomer" & _

" WHERE [LastName]='Smith'")

Nếu tên người sử dụng là nhập vào từ text box txtLastName.Text thì đưa vào thế nào :

Dim db As Database

Dim rs As Recordset

Set db = OpenDatabase("..\..\db\novelty.mdb")

Set rs = db.OpenRecordset("SELECT * FROM tblCustomer" & _

" WHERE [LastName]='" & txtLastName.Text &"'")

13.2.3Chỉ ra các tuỳ chọn cho Recordset


Tham số Options của phương thức OpenRecordset xác định một số cách thức thao tác với mẩu tin.

Hằng

Ý nghĩa

dbOpentable

Trong một workspace của Microsoft Jet, tạo một đối tượng Recordset kiểu bảng ( bảng được đánh chỉ mục chỉ sử dụng một bảng )

dbOpenDynamic

Trong một workspace kiểu ODBCDirect, mở một đối tượng Recordset kiểu dynamic ( cập nhật được dữ liệu khi người khác sửa đổi và truy vấn dữ liệu qua nhiều bảng )

dbOpenDynaset

Mở một đối tượng kiểu Dynaset ( tham chiếu đến recordset của nhiều bảng hoăc từ nhiều cơ sở dữ liệu khác)

dbOpenForwardonly

Mở một đối tượng Recordset mà con trỏ của nó chỉ có thể di chuyển tới




tải về 1.69 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   24   25   26   27   28   29   30   31   ...   39




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương