Thứ Sáu, 14 tháng 2, 2014

Truy xuất cơ sở dữ liệu bằng ADO

5
Sử dụng file DSN
File DSN là một file đặc tả các thông số cho kết nối thông qua ODBC. File này là
một file văn bản trơn, có nội dung như sau:
[ODBC]
DRIVER=Microsoft Access Driver (*.mdb)
ReadOnly=0
UserCommitSync=Yes
Threads=3
SafeTransactions=0
PageTimeout=5
FILL=MS Access
DriverId=25
MaxScanRows=8
axBufferSize=512
ImplicitCommitSync=
Thay vì phải sử dụng danh hiệu DSN như ở trên, khi thực hiện kết nối người lập
trình chỉ cần tạo file DSN và trong kịch bản xác định việc sử dụng file này.
Phương pháp sử dụng file DSN có lợi điểm là: Người lập trình không cần phải
khai báo DSN tường minh bằng chương trình ODBC trên server.
6
Sử dụng MS-OLEDB provider
Microsoft OLEDB provider cho phép có thể đặc tả các tham
số để kết nối tới bất kỳ một CSDL nào thông qua ODBC.
Cú pháp của chuỗi đặc tả kết nối tới CSDL MS-Access,
không có khai báo DSN tường minh như sau:
“DBQ=Duong_dan_toi_file_mdb;Driver={Microsoft
Access Driver (*.mdb)};

7
2. Các đối tượng của ADO
ADO cung cấp cho người lập trình script các đối tượng sau:
Tên đối tượng Chức năng Tên tham khảo
Connection Duy trì, thiết lập và hủy bỏ cầu nối tới
CSDL
ADODB.Connection
Recordset Là tập các record được lấy ra từ CSDL,
hay là kết quả của một truy vấn SQL
tới CSDL thông qua cầu nối ODBC.
ADODB.Recordset
Command Cho phép thực hiện các thao tác trên
CSDL, như thực thi các stored-
procedure,
ADODB.Command
Error Lưu chứa các mã lỗi.
Fields Là tập các thuộc tính mà recordset đang
thể hiện (còn gọi là tên các cột dữ
liệu)
Parameter Lưu trữ các tham số cụ thể cho đối tượng
Command.
8
3. Sơ đồ thứ bậc của các đối tượng ADO
Đối tượng Connection
Đối tượng Recordset
Tập hợp Fields
Đối tượng Command
Tập hợp Parameters
Tập hợp Errors
Khi sử dụng một đối tượng ADO, cũng giống như
việc sử dụng các component khác, chúng ta phải
tạo các biến thể hiện của chúng. Cú pháp chung
cho việc tạo thể hiện là:
Tên_ThểHiện=Server.CreateObject(“ADODB.Tên_
ĐốiTượng”);
Ví dụ:
Tạo đối tượng Connection có tên là Conn:
Conn=Server.CreateObject(“ADODB.Connection”);
Tạo đối tượng Recordset có tên là Rs:
Rs=Server.CreateObject(“ADODB.Recordset”);
Tạo đối tượng Command có tên là Comm:
Comm=Server.CreateObject(“ADODB.Command”);
9
II. Sử dụng các đối tượng Connection và
Recordset
Trong phần này, chúng ta sẽ sử dụng các đối tượng
Connection, Recordset để tạo các trang .asp có khả
năng thực hiện các thao tác: cập nhật, thêm, xóa và
liệt kệ các record trong một cơ sở dữ liệu .mdb
10
1. Cơ sở dữ liệu ví dụ
Giả sử có một cơ sở dữ liệu (đơn giản) lưu trữ thông tin về
các mặt hàng mà một công ty muốn trình bày trên web site
của họ. Luợc đồ của CSDL này được miêu tả như sau:
1. MAT_HANG(MaMH, TenMH, GiaMH, TinhNang, MaLoai,
SoLGH, DonVi, MaTien)
Ý nghĩa: MAT_HANG lưu trữ các mặt hàng có trong kho. Mỗi
mặt hàng gồm có các thông tin như: Mã mặt hàng (MaMH,
Autonumber), Tên mặt hàng (TenMH, text), Giá thành mặt
hàng cho một đơn vị tính (GiaMH, float), mô tả tính năng
(TinhNang, text), Mã số loại hàng (MaLoai, int), Số lượng
hàng còn lại trong kho (SoLGH, int), mã số đơn vị tính
(DonVi, int), mã loại tiền giá bán (MaTien, int)
11
2. LOAI_HANG(MaLoai, TenLoai)
Ý nghĩa: LOAI_HANG là danh sách các chủng loại hàng có trong kho.
Mỗi loại hàng gồm có các thông tin: Mã số loại (MaLoai, Autonumber),
Tên chủng loại (TenLoai, text).
3. HANG_SX(MaHSX, TenHangSX)
Ý nghĩa: Lưu trữ danh sách các hãng sản xuất có cung cấp hàng cho
công ty. Một hãng sản xuất gồm có các thông tin: Mã số hãng sản xuất
(MaHSX, autonumber), tên hãng sản xuất (TenHSX, text)
4. CUNG_CAP(MaMH, MaHSX)
Ý nghĩa: Xác định các mặt hàng do các hãng sản xuất cung cấp cho
công ty. Bao gồm: Mã mặt hàng(MaMH, int), mã số hãng cung cấp
(MaHSX, int)
5. DON_VI(DonVi, TenDV)
Ý nghĩa: Là danh sách các loại đơn vị tính được sử dụng. Bao gồm:
mã đơn vị (DonVi, Autonumber), tên đơn vị tính (TenDV, text).
6. LOAI_TIEN(MaTien, TenLoai)
Ý nghĩa: Là danh sách các loại đơn vị tiền tệ được sử dụng trong bảng
giá. Bao gồm: mã đơn vị tiền tệ (Matien, Autonumber), tên loại tiền
(TenLoai, text).
Lược đồ trên được cài đặt bằng MS-Accsess với tên là mydb.mdb
12
Quá trình làm việc với CSDL trong một trang ASP.
Gồm có ba bước:
1. Thiết lập kết nối tới CSDL cần làm việc.
2. Thực hiện các thao tác với CSDL thông qua các truy
vấn SQL hoặc các đối tượng ADO.
3. Đóng kết nối.
13
2. Đối tượng Connection
Đối tượng Connection được sử dụng để tạo, duy trì và đóng một cầu nối từ
chương trình tới CSDL thông qua phương thức ODBC. Đối tượng
Connection cũng dùng để thực hiện các thao tác quản lý transaction và
thực hiện lệnh truy vấn SQL. Phần này sẽ hướng dẫn sử dụng đối tượng
Connection để: Tạo và duy trì cầu nối ODBC, đóng cầu nối và thực hiện
lệnh truy vấn SQL.
Thiết lập kết nối
Sau khi đã có một thể hiện của đối tượng Connection, ta có thể thiết lập
kết nối tới CSDL bằng phương thức Open, với cú pháp như sau:
TênConnection.Open([ConnectionString][, UserID][, Password]);
Trong đó:
UserID: tên tài khoản được phép sử dụng CSDL. Tham số này là tùy chọn.
Password: Mật khẩu của tài khoản UserID. Tham số này là tùy chọn.
ConnectionString: Tham số này có thể không có, nếu đã khởi động giá trị
cho thuộc tính ConnectionString của đối tượng Connection. Giá trị của
tham số này (của thuộc tính) là một chuỗi đặc tả thông tin của kết nối.
Chuỗi này có thể là một tên DSN hoặc một chuỗi xác định cụ thể các thông
tin kết nối.
14
Ví dụ 1:
Tạo kết nối tới CSDL mydb.mdb thông qua ODBC, sử dụng tên DSN,
bao gồm các bước sau:
Khai báo ODBC Data Source Name.
Sau khi khai bao, giả sử chúng ta có một DSN tên là: “MYDATA”.
Khai báo này chỉ thực hiện một lần, khi đưa cơ sở dữ liệu mới lên server.
Mở kết nối. Có thể thực hiện bằng hai cách sau:
<%
Conn=Server.CreateObject(“ADODB.Connection”);
Conn.Open(“MYDATA”);
%>
Hoặc:
<%
Conn=Server.CreateObject(“ADODB.Connection”);
Conn.ConnectionString=”MYDATA”;
Conn.Open();
%>

Không có nhận xét nào:

Đăng nhận xét