Giáo trình đào tạo Visual Basic 6.0
1 Đối tượng dữ liệu ActiveX
• Xây dựng ứng dụng Visual basic với ADO
• Sử dụng dịch vụ dữ liệu từ ADO
Cho đến Visual basic 5.0, ADO (Dữ liệu đối tượng ActivateX - ActivateX Data
Object) trở thành nền tảng của ký thuật truy cập dữ liệu Internet. Trong Visual basic
6.0, ADO 2.0 cang quan trọng hơn - mạnh mẽ hơn. Ta có thể dùng ADO không chỉ để
truy cập cơ sở dữ liệu thông qua trang web, mà còn có thể dùng nó để lấy dữ liệu từ
ứng dụng viết bằng Visual basic. ADO là giao diện dựa trên đối tượng cho công nghệ
dữ liệu mới nổi gọi là OLE DB.
OLE DB được thiết kế để thay thế ODBC như một phương thức truy cập dữ liệu.
ODBC hiện thời là tiêu chuẩn phía Client sử dụng Windows rất phổ biến để truy cập dữ
liệu quan hệ bởi vì nó thiết lập các Server cơ sở dữ liệu quan hệ càng tổng quát càng tốt
đến các ứng dụng Client. OLE DB đi sâu hơn một bước, bằng cách làm cho tất cả
nguồn dữ liệu trở thành tổng quát đối với ứng dụng Client.
1.1 Xây dựng ứng dụng Visual basic với ADO
ADO là công nghệ truy cập cơ sở dữ liệu hướng đối tượng tương tự như DAO và
RDO.
ADO hiện nay được Microsoft xem là kỹ thuật để truy cập cơ sở dữ liệu từ Web
server. Bởi vì ADO được cung cấp dưới dạng thư viện ActivateX Server (tương tự
DAO và RDO), ta có thể thoải mái dùng ADO trong ứng dụng Visual basic. Trong thực
tế, bằng nhiều cách, ta sẽ thấy rằng sử dụng ADO để làm việc với cơ sở dữ liệu
Client/Server thì dễ hơn các kỹ thuật khác.
1.1.1 Tìm hiểu cấu trúc OLE DB / ADO
Phần lớn các nhà lập trình viên Visual basic không thao tác trực tiếp với OLE DB.
Thay vào đó, họ lập tình với ADO, mô hình đối tượng cung cấp giao diện với OLE DB.
FPT Software Solution Trang:1/-
Giáo trình đào tạo Visual Basic 6.0
Client Workstation
Client Application
Remote Data Object
ActiveX Data
Object
ODBC Driver
ODBC Driver
Manager
OLE DB Datta
Provider
OLE DB
Relational Database
Document
Server
Email
Server
Hình: Sử dụng ADO và OLE DB để tăng cường truy cập thông tin trong một cơ sở
dữ liệu
Trình cung cấp OLE DB không nhiều như trình cung cấp ODBC nhưng số lượng
này đã tăng lên đáng kể từ khi ADO 2.0 được phát hành vào năm 1998. Phiên bản này
đã được đưa vào Visual basic 6.0 bao gồm các trình cung cấp cục bộ cho SQL Server,
Oracle và Microsoft Jet/ access.
Có nhiều khả năng bạn có thể dùng ADO và OLE DB để đạt được nguồn dữ liệu
quan hệ ngay khi không có trình cung cấp OLE DB cụ bộ. Bởi vì đã có một tình cung
cấp OLE DB tổng quát cho cơ sở dữ liệu quan hệ ODBC.
Ta chỉ cần lập trình với phần giao diện Người sử dụng ở phía Client. Bởi vì việc
truy cập dữ liệu trên cả trình duyệt Web và ứng dụng Visual basic được chuyển hết về
phía ActivateX Server, ta có thể bảo đảm rằng logic chương trình luôn nhất quán, bất kể
loại ứng dụng nào đang được dùng.
Sau đây là cấu trúc truy cập cơ sở dữ liệu ODBC dùng trình cung cấp ODBC OLE
DB.
FPT Software Solution Trang:2/-
Giáo trình đào tạo Visual Basic 6.0
Client Application
ActiveX Data
Object
OLE DB ODBC
Provider
ODBC Driver
Relational Database
ODBC Driver
Manager
OLE DB
Cấu trúc này cho phép ta dùng thành phần lập trình ActivateX thông dụng trên cả
trình duyệt Web và ứng dụng Client Visual basic.
1.1.2 Cài đặt và thiết lập tham chiếu đến ADO trong ứng dụng
Visual basic
ADO được cài đặt như một phần của Visual basic 6.0
FPT Software Solution Trang:3/-
Giáo trình đào tạo Visual Basic 6.0
Phiên bản mới nhất của của ADO cho phép tải xuống miễn phí từ địa chỉ
Sau khi cài đặt xong, ta bắt đầu sử dụng nó bằng cách thiết lập tham chiếu đến thư
viện ADO trong ứng dụng Visual basic, tương tự khi ta thiết lập tham chiếu đến thư
viện DAO hay RDO.
- Trong project Visual basic chọn references, hộp thoại references xuất hiện
- Chọn vào hộp đánh dấu “Microsoft ActivateX Data Objects 2.0 Library” rồi
nhấn OK
Chú ý rằng khi tham chiếu ADO thì phải đảm bảo là không có tham chiếu đến thư
viện “Microsoft ActivateX Data Objects 2.0 Recordset”. Đây là phiên bản loại nhẹ của
thư viện ADO được thiết kế để sử dụng phía Client. Nó chỉ hỗ trợ Recordset và Field.
1.1.3 Sử dụng ADO với các thư viện đối tượng truy cập dữ liệu
khác
Nếu bạn tạo ứng dụng được thiết kế để sử dụng ADO kết hợp với thư viện đối
tượng truy cập dữ liệu khác, như là DAO, cần phải phân biệt giữa, ví dụ như đối tượng
RecordSet của DAO và Recordset của ADO. Chúng không thể đổi chỗ cho nhau được.
Nếu ta tham chiếu đến vừa ADO vừa DAO và khai báo một biến Recordset, làm thế
nào để phân biệt Recordset của DAO hay ADO? Câu trả laời là thứ tự tham chiếu vào
đề án. Nếu thêm tham chiếu đối tượng DAO trước thì Recordset là của DAO và ngược
lại. Để tránh nhầm lẫn ta nên khai báo tường minh như sau: ADODB.Recorset
Nếu không muốn tham chiếu trực tiếp đến thư viện đối tượng trong chương trình, ta
có cách khác. Ta có thể kiểm soát thư viện đối tượng nao được truy cập mặc định bằng
cách dùng giá trị mực ưu tiên trong hộp References.
1.1.4 Dùng đối tượng connection của ADO để kết nối với nguồn
dữ liệu
Vị trí của đối tượng Connection trong mô hình của ADO:(Xem hình dưới):
Dùng phương thức Open của đối tượng Connection để thiết lập kết nối với nguồn
dữ liệu. Để thông báo cho ADO cách nối với nguồn dữ liệu ta phải cung cấp thông tin
FPT Software Solution Trang:4/-
Giáo trình đào tạo Visual Basic 6.0
dưới dạng chuối kết nối của ODBC. Ta dùng thuộc tính ConnectionString để thực hiện
điều này. Ta còn có khả năng tuỳ chọn để chọn trình cung cấpnào sẽ được dùng bằng
cách quy định giá trị thuộc tính Provider của đối tượng Connection.
1.1.4.1Chỉ ra trình cung cấp OLE DB và chuỗi kết nối
Nếu không chỉ ra trình cung cấp, hoặc ta không dùng đối tượng Connection, ta sẽ
có một trình cung cấp mặc định, là trình cung cấp ODBC, MSDASQL.
Thuộc tính Provider của đối tượng Connection là chuỗi ký tự chỉ ra kết nối mà trình
cung cấp OLE DB sẽ dùng.
Dùng chuỗi kết nối trong ADO để cung cấp thông tin về cách thức kết nối với
Server cơ sở dữ liệu. Khi ta dùng trình cung cấp ODBC cho OLE DB, chuỗi kết nối
tương tự chuỗi kết nối ODBC. Điều này có nghĩa là thông tin chính xác được mong chờ
bởi trình điều khiển ODBC có thể thay đổi tuỳ theo cách thực hiện. Đối với các trình
cung cấp khác, chuỗi kết nối có thể có một cú pháp hoàn toàn khác.
Khi ta dùng trình cung cấp ODBC, thuộc tính ConnectionString có thể là một DSN
(tên nguồn dữ liệu) hay nó là kết nối không có DSN. Đây là một ví dụ của một kết nối
đến cơ sở dữ liệu dùng trình cung cấp ODBC với DSN:
FPT Software Solution Trang:5/-