V. ADO (ACTIVEX DATA OBJECT)
2. MƠ HÌNH ĐỐI TƯỢNG ADO 5 1 Đối tượng Connection
2.1 Đối tượng Connection
Đối tượng Connection cho phép thực hiện việc mở kết nối đến nguồn dữ liệu cần truy xuất. Thơng qua đối tượng Connection, người lập trình chỉ định trình cung cấp OLE DB Provider sẽ dùng để tiếp cận dữ liệu. Các thông tin kết nối bổ sung khác như: tên đăng nhập cơ sở dữ liệu (username), mật khẩu (password), tên máy chủ (server) …Tất cả những thông tin này thường được lưu vào một chuỗi gọi là chuỗi kết nối (Connection String).
Lưu ý là để có thể kết nối và truy xuất nguồn dữ liệu, không bắt buộc phải tạo đối tượng Connection. Các đối tượng như Command, Recordset, Record… cũng cho phép mở trực tiếp kết nối. Tuy nhiên, sử dụng đối tượng Connection sẽ cho phép tách biệt thao tác kết nối và thao tác truy cập dữ liệu. Hơn nữa, đối tượng Connection còn cung cấp thêm một số chức năng chuyên dụng khác như cho phép thực thi câu lện SQL tác động dữ liệu (INSERT, UPDATE, DELETE, gọi thủ tục nội Store Procedure…) hoặc kiểm soát giao dịch (transaction) như Rollback, Commit…
2.2 Đối tượng Command (lệnh thực thi)
Mặc dù người lập trình có thể sử dụng đối tượng Connection để thực thi các lệnh SQL nhưng tốt nhất nên dùng Connection cho mục đích kết nối. Đối tượng Command sẽ được dùng cho mục đích thực thi lệnh tốt hơn. Khi đối tượng Connection thực thi lệnh, mặc định Connection sẽ khởi tạo và gọi đến đối tượng Command.
Đối tượng Command cho phép chuyển tham số vào các lệnh thực thi SQL. Tham số có thể chỉ định kiểu hoặc giá trị tường minh. Các tham số cso thể nhận giá trị trả về sau khi thực thi… Command có thể dùng cho cả hai mục đích: thực thi các lệnh SQL khơng cần nhận kết quả trả về (như INSERT, DELETE, UPDATE, các Store Procedure) hoặc thực thi các lệnh trả về tập Recordset như lệnh SELECT.
2.3 Đối tượng Recordset (tập các mẩu tin)
Recordset có thể nói là đối tượng được sử dụng thường xuyên nhất trong ADO. Đối tượng này cung cấp kết quả trả về từ câu lệnh truy vấn một tập các mẩu tin. Trang ASP có thể dùng vịng lặp duyệt qua các mẩu tin này và hiển thị dữ liệu kết xuất ra trang
Web phía trình duyệt. Ngồi ra Recordset cịn cho phép lọc dữ liệu từ tập các mẩu tin, truy xuất đến từng trường cụ thể của mẩu tin thông qua đối tượng Field hoặc danh sách các trường trong mẩu tin thông qua đối tượng Field.
2.4 Đối tượng Record
Đối tượng Record cho phép truy cập chi tiết đến thơng tin của từng mẩu tin. Có thể hỏi đối tượng Recordset đã cung cấp cách thức truy cập đến từng trường của mẩu tin thì tại sao lại dùng thêm đối tượng Record? Thật sự nếu chỉ dùng loại dữ liệu dạng bảng của cơ sở dữ liệu thì có thể khơng cần dùng đến đối tượng Record. Tuy nhiên đối tượng Record giúp truy xuất tổng quát đến mọi nguồn dữ liệu khơng riêng gì dữ liệu dạng bảng. Hãy hình dung nếu muốn truy xuất nội dung của nguồn dữ liệu là một thư mục. Thư mục có thể xem là một bảng dữ liệu với danh sách file là các mẩu tin (record). Tuy nhiên mỗi mẩu tin của file trong thư mục không đơn thuần chỉ chứa các trường như tên file, ngày giờ tạo file, kích thước file…Thơng tin về mỗi mẩu tin biểu diễn cho file có thể khác nhau về quyền truy xuất trên file, nội dung file. Đối tượng Record sẽ giúp thể hiện sự khác biệt này của từng mẩu tin thơng qua phương thức và thuộc tính. Nếu chỉ sử dụng và truy xuất mẩu tin thông qua Recordset theo cách thơng thường thì sẽ khơng xử lý được.
2.5 Đối tượng Stream (luồng)
Đối tượng Stream cho phép biểu diễn nội dung của một nut (node) dữ liệu. Cụ thể, thơng qua Stream, có thể xem và truy xuất được các loại dữ liệu nhị phân không thuộc dạng bảng như nội dung file, e-mail, trang Web, dữ liêu XML… Đối tượng Stream thường được kết hợp xử lý thông qua đối tượng Record và Recordset.
2.6 Đối tượng Collection (tập hợp)
Thư viện ADO cung cấp rất nhiều loại tập hợp. Mỗi loại có thể nắm giữ một hoặc nhiều đối tượng khác thậm chí có thể là một tập hợp rỗng không chứa phần tử nào cả.