6. ADO (Actie Data Object)
Một ứng dụng Web cơ sở dữ liệu (Web Database) viết bằng ASP có thể truy xuất dữ liệu trong một cơ sở dữ liệu (Database), bằng cách sử dụng Component Database Access của ActiveX mạnh nhất của ASP trong việc phát triển ứng dụng Web Database
Các đối tượng (Object) của ADO cung cấp có thể tạo ra các kết nối (Connection) với hầu hết các kiểu cơ sở dữ liệu (Database), cũng như việc truy xuất, cập nhật các cơ sở dữ liệu (Database) nàỵ Hiện nay thư viện ADO là công cụ mạnh nhất trong việc phát triển các ứng dụng cơ sở dữ liệu (Database) trên Internet
Trong phần này ta sẽ xem xét các thành phần trong thư viện công cụ nàỵ
ADO được thiết kế một cách đơn giản nhất, nó giao tiếp với các cơ sở dữ liệu (Database) thông qua phương thức ODBC (Open Database Connectivity), chúng ta có thể sử dụng chúng với bất kỳ loại cơ sở dữ liệu(Database) nào nếu như ODBC có Driver hỗ trợ.
Sự giao tiếp giữa ADO và các thành phần khác trong hệ thống có thể mơ tả theo hình Các đối tượng ( Object) trong ADO:
Các đôi tượng (Object) chính trong đó là: Connection, Recordset, Command, ngồi ba đối tượng (Object) chính cịn có các đối tượng (Object), tham số, thuộc tính, phương thức sử dụng con. Sử dụng Connection ta có thể thiết lập sự liên kết với cơ sở dữ liệu, thơng qua đó ta có thể thực hiện các Query để lấy ra các Record hoặc tập hợp các Record bằng cách sử dụng Command Object. Kết quả thực hiện trên cơ sở dữ liệu (Database) sẽđược lưu vào Recordset, trên đối tượng này ta có thể duyệt và lấy ra một hay nhiều Record. Sau đây ta sẽ xem xét cụ thể cách sử dụng của từng đối tượng (Object).
Để sử dụng đối tượng Connection, trước tiên ta phải tạo ra một Instance cho nó, đây thực sự là một thể hiện của đối tượng (Object) này trong ASP. Phát biểu tạo ra Instance cho Connectin có cú pháp như sau:
<%
Connection_name = Server.Creatobject ( “ ADODB.Connection ”)
%>
Thông thường trong một ứng dụng nếu ta cần có một liên kết với DataSource cốđịnh cho tất cả các trang thì khi đó ta sẽđặt Instance của Connection có mức hoạt động ở mức độ Application, bằng cách phát biểu Instance ở trên vào các thủ tục Application_Onstart( )
<%
Sub Application_Onstart ( )
Set Connection_name = Server.Creatobject (“ADODB.Connection”)
End Sub
%>
hoặc thiết lập cho Connection ở mức độ Session như sau:
<%
vẽ sau
Sub Sessiom_Onstart ( )
End Sub
%>
Hoặc tạo File sử dụng chung. Tuy nhiên ta có thể xem xét thêm việc tối ưu cho các Connection trong một ứng dụng có nhiều người sử dụng (User) truy xuất tới cơ sở dữ liệu ( Database), đó là khả năng Connctionpooling của ODBC.
Connection Pooling: Các ứng dụng cơ sở dữ liệu truyền thống đều tạo một mối liên kết tới cơ sở dữ liệu ( Database) mà nó sử dụng, cịn các ứng dụng cơ sở dữ liệu ( Database) trên Web lại mở vàđóng các liên kết, các liện kết này ở mỗi trang Web. Một phương pháp cho các ứng dụng cơ sở dữ liệu ( Database) trên web là tạo ra một sự liện kết liên tục với cơ sở dữ liệu của từng người sử dụng (User) và lưu trữ trong đối tượng Session. Tuy nhiên phương pháp này có thể làm gia tăng số lượng các người sử dụng ( User) kết nối tới cơ sở dữ liệu mà không làm việc và chỉđạt được độ tin cậy đối với các Web Site có sự lưu thơng dữ liệu thấp.
Connection pooling được kích hoạt mặc nhiên trong ASP, ta có thể loại bỏ bằng cách thiết lập giá trị Register Entry Start Connection về giá trị 0
Các phương thức của đối tượng Connection