
ADO căn bản
MONDAY, 28. JANUARY 2008, 06:05:26
ADO
Hãy đọc trước khi các bạn bước vào thế giới của ADO
ADO là gì?
Tôi xin miễn bàn cụ thể, các bạn có thể tham khảo trên trang
www.vovisoft.com hay những trang khác. Tôi xin nói ngắn gọn: ADO
là viết tắt của chữ ActiveX Data Object. Đây là một đối tượng giúp
bạn làm việc với nhiều kiểu dữ liệu khác nhau.
Giống như ODBC (Open DataBase Connectivity), kỹ thuật lập trình
với OLE DB đòi hỏi phải được thực hiện bằng các lệnh phức tạp cấp
thấp API. Chính vì lý do này, Microsoft cũng đã đưa ra một lớp giao
tiếp lập trình cấp cao ADO được xây dựng dựa trên kỹ thuật OLE DB
cho phép lập trình nhanh các ứng dụng liên kết CSDL (Cơ sở dữ liệu).
CÁC ĐỐI TƯỢNG LẬP TRÌNH ADO CƠ SƠ
Lớp giao tiếp lập trình dữ liệu cấp cao ADO cung cấp một tập hợp
những đối tượng giúp chúng ta dễ dàng làm việc với các nguồn dữ
liệu khác nhau. Trong các đối tượng này có những đối tượng chính
cần tìm hiểu, đó là: Connection, Recordset, Command, Field
(ngoài ra còn có: Parameter, Property, Error).
Connection
Đây là một đối tượng được sử dụng để tạo liên kết giữa chương trình

với CSDL. Sau khi đã tạo được liên kết xong chúng ta mới có thể thực
hiện các thao tác xử lý dữ liệu trên CSDL này.
Để tạo lập một liên kết Connection chúng ta cần xác định rõ các
thông tin cần thiết bao gồm:
• Provider: Tên của chương trình giao tiếp dữ liệu (OLE DB Provider).
• Data source: Tên đầy đủ của tập tin CSDL hay tên nguồn dữ liệu
ODBC cần liên kết.
• Username: Đây là một thông tin tùy chọn quy định tên của người
dùng được tổ chức bên trong CSDL này. Nó phụ thuộc vào các lọai
CSDL, với các CSDL Access chúng ta có thể bỏ qua thông tin này.
• Password: Chuỗi mật khẩu tương ứng với User name nhằm thâm
nhập CSDL
Command
Đối tượng Command sẽ cho phép chương trình có thể gọi thực hiện
một câu lệnh truy vấn SQL trên CSDL hay gọi thực hiện một thủ tục
xử lý đã được cài đặt trong CSDL (Stored procedure).
Nếu các thủ tục xử lý trong CSDL này có nhận và trả về giá trị, thì khi
đó chúng ta sẽ dùng đối tượng Parameter
Với CSDL Access, các truy vấn đã được xây dựng sẵn trong tập tin
MDB (bao gồm các truy vấn chọn, thêm, xóa, sửa,...) có thể được
xem như là các stored procedure.
Recordset

Là đối tượng lưu trữ một tập họp các mẫu tin được chọn từ các bảng
có trong CSDL. Thông qua các đối tượng Recordset, chúng ta có thể
thực hiện các xử lý như hiển thị dữ liệu, cập nhật, tìm kiếm,...với
CSDL đã nối kết. Thông thường các Command có câu lệnh truy vấn
thực hiện dạng SELECT đều trả về một bộ mẫu tin (Recordset).
Trong quá trình lập trình CSDL với Visual Basic 6.0 chúng ta có thể
tạo ra Recordset bằng nhiều cách tại những thời điểm khác nhau như:
dùng ADO control, DataEnvirement hay dùng bằng lệnh.
Đối tượng Field
Là đối tượng con cho phép chúng ta truy xuất và làm việc với một
trường (cột) dữ liệu có trong một bộ mẫu tin Recordset. Với đối tượng
field có hai thuộc tính cần quan tâm, đó là: Name (tên trường dữ liệu)
và Type (kiểu dữ liệu của trường)
Bây giờ chúng ta sẽ đi vào từng thuộc tính và phương thức chính của
các đối tượng trên.

CONNECTION
Sau khi tạo xong liên kết dữ liệu, chúng ta mới có thể tạo ra các đối
tượng khác dựa trên liên kết này.
1. Thuộc tính liên kết dữ liệu:
Trước khi thực hiện tạo một liên kết dữ liệu, chúng ta cần khai báo
các tham số cần thiết cho đối tượng Connection như tên server, tên
cơ sở dữ liệu, tên người dùng và mật khẩu. Sau đây là các thuộc tính
quan trọng cần khai báo khi tạo một liên kết dữ liệu.
_Thuộc tính ConnectionString: là chuỗi ký tự chứa các thông tin cần
thiết cho việc nối kết dữ liệu. Chuỗi ký tự này gồm các thành phần
thông tin như:
_Provider: tên trình liên kết dữ liệu OLE DB
_Server: tên máy chủ chứa CSDL cần kết nối
_Use ID: mã số người dùng
_Password: mật khẩu người dùng
_Data Source: nguồn dữ liệu kết nối
Ví dụ khi kết nối với một cơ sở dữ liệu SQL Server có tên QLTV
chúng ta sẽ có chỗi sConnection như sau:
sConnection="Provider=SQLOLEDB;" & "Server=ServerNT; User
ID=MyID; " & "Password=MyPWD; Data Source=QLTV"

Một số connection string tham khảo từ trang web Erlandsen Data
Consulting:
Kết nối vào Access database dùng standard security:
cn.Open "driver={Microsoft Access Driver (*.mdb)};"
& _
"dbq=c:\foldername\databasename.mdb;uid=admin;p
wd="
Kết nối vào một Access database dùng một workgroup system
database:
cn.Open "driver={Microsoft Access Driver (*.mdb)};"
& _
"dbq=c:\foldername\databasename.mdb;" & _
"systemdb=c:\foldername\databasename.mdw;", _
"userid", "userpassword"
Kết nối vào một Access database exclusively:
cn.Open "driver={Microsoft Access Driver (*.mdb)};"
& _
"dbq=c:\foldername\databasename.mdb;" & _
"exclusive=1;uid=admin;pwd="

