0
Tải bản đầy đủ (.doc) (133 trang)

Xây dựng ứng dụng Visual Basic với ADO:

Một phần của tài liệu XÂY DỰNG HỆ THỐNG THI TRẮC NGHIỆM TRÊN MẠNG CỤC BỘ (LAN) (Trang 44 -47 )

1.1 . Tìm hiểu về cấu trúc OLE DB / ADO:

ADO thực chất là một OLE DB consumer lo cung cấp các dữ liệu nguồn OLE DB theo cấp ứng dụng. ADO là một OLE Automation Server mà các môi trường triển khai có thể truy xuất.

ADO cũng đựơc phân phối như là một thành phần chuẩn của một số sản phẩm Microsoft khác nhau, bao gồm:

Visual Studio Enterprise Edition 1 và 6 Visual Studio Enterprise Edition 4, 5 và 6 Visual InterDev 6

SQL Server 7.0

Như bạn có thể thấy hình sau đây, OLE DB cung cấp hai phương pháp khác nhau để truy xuất dữ liệu SQL Server – OLE DB Provider dành cho SQL Server và OLE DB Provider dành cho ODBC. ADO có khả năng hoạt động với cả hai OLE DB Provider này. ADO tận dụng kiến trúc kiểu tầng lớp để cách ly những ứng dụng dùng khung đối tượng ADO khỏi các nghi thức và topo mạng nằm ẩn đằng sau.

Hình sau đây minh hoạ những mối tương quan giữa ADO, OLE DB, ODBC và hổ trợ mạng PC.

VISUAL BASIC APPLICATIONACTIVE X DATA OBJECT (ADO) ACTIVE X DATA OBJECT (ADO) OLE DB PROVIDER FOR OLE DB

(MSDASQL) OLE DB PROVIDER OLE DB PROVIDER FOR SQL SERVER (SQLOLEDB) ODBC DRIVER NETWORK PROTOCOLS

NetBEUI TCP/IP IPX

Network Topology

SVTH: Lương Ngọc Tuấn 44 1998 - 2003

Ethernet Token Ring

Cấu thành mạng mà ADO sẽ dùng đến

Trên hình vẽ ta có thể thấy ứng dụng Visual Basic ADO, theo đấy ứng dụng Visual Basic tạo và sử dụng những đối tượng ADO khác nhau. Khung đối tượng ADO phát ra những tiệp gọi vào OLE DB provider thích ứng. Nếu ứng dụng ADO sử dụng OLE DB provider dành cho ODBC thì SQL OLE DB sẽ được gọi vào. Khi sử dụng OLE DB / ODBC thì ADO nạp madssql.dll vào và trình bày và trình bày này được nạp lại ODBC Driver Manager. OLE DB Driver/ ODBC API, và các hàm này được chuyn63 giao cho OLE DB driver Manager.

ODBC Driver Manager sẽ nạp vào ODBC driver thích ứng. Đến phiên ODBC driver sẽ dùng một IPC mạng ( như Name Pipes, TCP/IP Sockets hoặc PSX) để liên lạc với một IPC server nằm ở xa cho phép truy xuất cơ sở dữ liệu đích. OLE provider native đối với SQL Server sẽ không dùng bất cứ tầng lớp trung gian nào. Khi trực tiếp và sử dụng IPC mạng thích ứng để liên lạc với cơ sở dữ liệu đích. Cấu hình thức mạng mà nó dùng đến (NetBEUI, TCO/IP hoặc IPX). Nghi thức mạng chịu trách nhiệm gửi đi và nhận về dòng dữ liệu di chuyển trên mạng. Cuối cùng, nằm ở dưới đây là topo mạng ( Enthernet hay Token Ring), bao gồm Adapter Card và dây cáp tạo thành một mạng lưới nối cả hệ thống lại với nhau.

Sau đây là tóm lượt các tập tin Client dùng để thiết đặt ADO:

Tập tin Mô tả

Msdasql.dll OLE DB provider for ODBC

Sqloledb.dll OLE DB provider for SQL Server

Msado15.dll ADO object Library

1.2. Kiến trúc ADO:

Giống như với các mô hình đối tượng truy xuất dữ liệu khác, ADO cũng đựơc thiết lập sử dụng mô hình đối tượng kiểu đẳng cấp. Tuy nhiên, mô hình đối tượng ADO đơn giản và “ phẳng lì” (Flat) hơn nhiều so với các mô hình ADO hoặc RDO. Hình sau đây cho thấy tổng quan một đối tượng ADO.

SVTH: Lương Ngọc Tuấn 45 1998 - 2003

Nguyễn Minh Quân

CONNECTIONCOMMAN COMMAN ERROR PARAMETER PARAMETER FIELDS FIELD RECORDSET ERRORS

Mô hình đối tượng đẳng cấp ADO

Các đối tượng connection, command và recordset là 3 đối tượng chủ yếu của mô hình đối tượng này. Đối tượng connectin tượng trưng cho một kết nối về một dữ liệu từ xa. Ngoài việc thiết lập một kết nối với một dữ liệu nguồn từ xa, đối tượng connection còn có thể lo kiểm soát phạm vi giao dịch ( transaction scope). Một đối tượng connection có thể được gắn liền hoặc với một đối tượng hoặc đối tượng command.

Đối tượng recordset tượng trưng cho một tập hợp kết quả được trả về từ một dữ liệu nguồn. Một đối tượng recordset tượng trưng cho một tập hợp kết quả đựơc trả về từ một dữ liệu nguồn. Một đối tượng recordset ADO có thể dùng hoặc một đối tượng connection được mở hoặc nó có thể tự thiết lập kết nối riêng về dữ liệu nguồn đích. Các đối tượng recordset cho phép bạn truy vấn dữ liệu hoặc thay đổi dữ liệu. Mỗi đối tượng recordset thừong chứa một tập hợp những đối tượng Field theo đấy mỗi đối tượng Field tượng trưng cho một dữ liệu trên đối tượng recordset.

Đối tượng command được dùng để phát ra những chỉ thị (command) hoặc những lệnh SQL mang thông số ẩn. Các đối tượng command có thể dùng cho cả những lệnh SQL hành động (UPDATE, INSERT hoặc DELETE ) lấy những lệnh SQL truy vấn trả về những tập hợp kết quả. Giống như đối tượng recordset ADO, đối tượng command có thể dùng hoặc một đối tượng connetion hiện dịch (active) hoặc tự thiết lập riêng kết nối về dữ liệu nguồn đích. Đối tượng comand thường chứa một tập hợp Paremeter tượng trưng một thông số ẩn mà đối tượng command se dùng đến. Trong trường hợp theo đó một đối tượng command thi hành một lệnh SQL có chứa thông số ẩn, thì đối tượng Paremeter tượng trưng một trong những thông số ẩn trên lệnh SQL.

Trực tiếp nằm dưới đối tượng connection là tập hợp Error, mỗi đối tượng Error nằm trong tập hợp thường chứa thông tin liên quan đến một sai lầm xảy ra gây bởi một trong những đối tượng trên mô hình đối tượng ADO.

Ngoài những đối tượng chính ta thấy trên hình minh hoạ, tất cả các đối tượng connection, command, recordset và Field đều có một tập hợp Properties gồm một lô những đồi tượng Property. Mỗi đối tượng property có thể dùng để tìm hoặc để dặt những thuộc tính khác nhau được gắn cho những đối tượng.

Thoáng nhìn, mô hình đối tượng ADO được cấu trúc theo đẳng cấp giống như với DAO hoặc RDO, nhưng thật ra không phải vậy. Khác với mot hình đối tượng khác, tất cả các đối tượng ADO – ngoại trừ các đối tượng Error, Field và Properties – có thể được tự mình tạo ra không cần thông qua các đối tượng cao cấp hơn. Điều này làm cho đối tượng ADO có vẻ “phẳng lì” và ADO cho phép các recordset được mở và truy xuất không cần đến một thể hiện

SVTH: Lương Ngọc Tuấn 46 1998 - 2003

của một connection. Khả năng sử dụng trực tiếp một đối tượng không cần thiết phải thể hiện bất cứ đối tượng cao cấp hơn làm cho ADO de sử dụng hơn so với các mô hình khác.

Tuy nhiên, bạn sẽ thấy không phải ADO bao giờ cũng không phức tạp trong sử dụng như ta tưởng.

Một phần của tài liệu XÂY DỰNG HỆ THỐNG THI TRẮC NGHIỆM TRÊN MẠNG CỤC BỘ (LAN) (Trang 44 -47 )

×