Ta có thể lập trình để tạo và sử dụng các Recordset theo một trong ba thư viện truy cập dữ liệu: • Các đối tượng truy cập dữ liệu DAO • Các đối tượng truy cập dữ liệu từ xa RDO • Các đối
Trang 1Đề cương: Các Ví Dụ Nâng Cao Công
Nghệ Phần Mềm
Biên tập bởi:
Khoa CNTT ĐHSP KT Hưng Yên
Trang 2Đề cương: Các Ví Dụ Nâng Cao Công
Trang 3MỤC LỤC
1 Lời mở đầu
2 Bài 1: Lập trình hướng thành phần (HTP)
2.1 Giới thiệu và Định nghĩa
2.2 Hợp lệ hoá dữ liệu Ngôn ngữ vấn tin cơ sở dữ liệu Kết nối cơ sở dữ liệu sửdụng công nghệ ADO
2.2.1 Công cụ hợp lệ hoá dữ liệu trong Visual Basic
2.2.2 Ngôn ngữ vấn tin cơ sở dữ liệu (Structure Query Language)
2.2.3 Kết nối cơ sở dữ liệu sử dụng công nghệ ADO (ActiveX Data Objects)2.2.4 Truy xuất dữ liệu sử dụng công nghệ ADO
5 Bài 4: Kiến trúc hướng dịch vụ (webservice)
5.1 Kiến trúc hướng dịch vụ (webservice)
6 Bài 5: Thiết kế mẫu (Design Pattern)
6.1 Thiết kế mẫu (Design Pattern)
7 Bài 6: Công nghệ Hibernate
Trang 4Lời mở đầu
Công nghệ thông tin đang phát triển mạnh mẽ, để phát triển được những dụng trong thực
tế thì việc sử dụng một số phương pháp và công nghệ phát triển phần mềm tiên là điềukhông thể thiếu đối với người phát triển
Module giới thiệu cho người học một số chủ đề nâng cao của Công nghệ phần mềm:
Giới thiệu một số phương pháp phát triển phần mềm tiến, áp dụng cho những bài toán
có qui mô lớn như phát triển phần mềm theo mô hình Client-Server; Component-Based;web-service, design pattern ;
Giới thiệu một số công nghệ phát triển phần mềm mà tại thời điểm tương ứng đang được
áp dụng trong các công ty phần mềm, như: Công nghệ Hibernate, Ajax, ;
Trên cơ sở đó giao các chủ đề cụ thể cho từng sinh viên/ nhóm sinh viên tìm hiểu vàcài đặt ứng dụng, sau đó trình bày trước lớp nhắm hiện thực hóa những phương pháp vàcông nghệ tiên tiến phát triển phần mềm
Trang 5Bài 1: Lập trình hướng thành phần (HTP) Giới thiệu và Định nghĩa
Giới thiệu
Lập trình hướng thành phần (HTP)- component-oriented programming
Xuất phát từ lập trình hướng đối tượng, tư duy lập trình hướng thành phần oriented programming) theo ý tưởng:
(component-• Giải quyết bài toán bằng cách xây dựng một tập các thành phần (component) cótính độc lập tương đối với nhau Mỗi thành phần đảm nhiệm một phần côngviệc nhất định
• Sau đó, người ta ghép các thành phần với nhau để thu được một phần mềm thoảmãn một tập các yêu cầu xác định
Với lập trình hướng thành phần, người ta có thể tiến hành lập trình theo phương phápsau:
• Xây dựng một thư viện các thành phần, mỗi thành phần thực hiện một côngviệc xác định
• Khi cần phát triển một phần mềm cụ thể, người ta chỉ cần chọn những thànhphần có sẵn trong thư viện để ghép lại với nhau Người lập trình chỉ phải pháttriển thêm các thành phần mình cần mà chưa có trong thư viện
Phương pháp này có những ưu điểm rất lớn:
• Lập trình viên có thể chia sẻ với nhau những thành phần mình đã xây dựng chonhiều người khác dùng chung
Khi cần, lập trình viên có thể lắp ghép các thành phần có sẵn khác nhau để tạo thành cácchương trình có chức năng khác nhau Tất cả chỉ cần dựa trên công nghệ lắp ghép thànhphần, tiết kiệm được rất nhiều công sức lập trình
Định nghĩa về lập trình HTP
Một số định nghĩa về "lập trình hướng thành phần":
Thành phần (component): là một phần không tầm thường của hệ thống, gần như độc
Trang 6có thể là một trong ba loại: source code component; runtime component; executablecomponent.
Lập trình hướng thành phần là kiểu lập trình có xu hướng chia hệ thống phần mềm thànhnhững thành phần, giữ các chức năng khác nhau, mà khi phối hợp chúng ta sẽ hệ thốngphần mềm đó Lập trình hướng thành phần sử dụng chung nhiều quan niệm của "lậptrình hướng đối tượng", nhưng hai khái niệm này là độc lập với nhau
Trang 7Hợp lệ hoá dữ liệu Ngôn ngữ vấn tin cơ sở dữ liệu Kết nối
cơ sở dữ liệu sử dụng công nghệ ADO.
Công cụ hợp lệ hoá dữ liệu trong Visual Basic
Hợp lệ hoá dữ liệu là làm cho dữ liệu nhập vào đảm bảo tính hợp lệ
Hợp lệ hoá sử dụng sự kiện LostFocus và phương thức SetFocus
Sự kiện LostFocus xảy ra mỗi khi một điều kiểm mất tiêu điểm Ta có thể viết mã lệnhtrong sự kiện này để kiểm soát xem dữ liệu khi dời khỏi điều kiểm đã hợp lệ chưa Nếunhư dữ liệu chưa hợp lệ ta có thể yêu cấu người nhập dữ liệu phải nhập lại Như vậy taphải dời tiêu điểm về điều kiểm Khi đó ta sẽ sử dụng phương thức SetFocus để đặt lạitiêu điểm cho điều kiểm
Khung của thủ tục LostFocus như sau:
Private Sub ControlName_ LostFocus()
Hợp lệ hoá sử dụng sự kiện Validate
Sự kiện Validate xảy ra trước khi người dùng có thể dịch chuyển tiêu điểm ra xa điềukiểm đó Do đó ta có thể đặt mã lệnh để kiểm soát tính hợp lệ của dữ liệu trong sự kiện
Trang 8Validate nhằm ngăn cản người dùng dịch chuyển tiêu điểm cho đến khi các tiêu chuẩn
về hình dạng dữ liệu được thoả mãn
Khung của thủ tục Validate như sau:
Private Sub ControlName_ Validate(Cancel As Boolean)
phương pháp Move First hoặc trứơc khi xử lý phương pháp Update, Delete hoặc Close.
Cú pháp cho thủ tục biến cố này như sau:
Sub DataControlName_ Validate([Index As Integer,] Action As Integer, Save_ AsInteger)
End Sub
≅ Chú y: Bạn không nên đặt phương pháp bất kỳ trong biến cố Validate làm thay đổi bản ghi hiện hành Kết quả sẽ là sự chuyển đổi biến cố vô tận Các phương pháp truy cập dữ liệu bạn có thể đặt vào biến cố này chỉ gồm UpdateRecord, UpdateControls, bởi
vì chúng đều không sinh ra biến cố Validate Điều này cung cấp cho bạn phương pháp cập nhật cở dữ liệu hoặc các điều khiển gắn kết trong thủ tục biến cố đó
Trang 9Trong đó tham số tuỳ chon Index được dùng nếu điều khiển dữ liệu là phần của mảngđiều khiển một mảng điều khiển Tham số Action được gởi bởi VB cho thủ tục biến cố
và báo nguyên nhân thực sự để biến cố Validate được tạo ra Dưới đây là danh sách cáchằng kí hiệu được xây dựng trong VB khả dĩ cho sự kiện Validate
vbDataActionCancel 0 Cancel the operation when the Sub exits
vbDataActionMoveFirst 1 MoveFirst method
vbDataActionMovePrevious 2 MovePrevious method
vbDataActionMoveNext 3 MoveNext method
vbDataActionMoveLast 4 MoveLast method
vbDataActionAddNew 5 AddNew method
vbDataActionUpdate 6 Update operation (not UpdateRecord)
vbDataActionDelete 7 Delete method
vbDataActionBookmark 9 The Bookmark property has been set
vbDataActionClose 10 The Close method
vbDataActionUnload 11 The form is being unloaded
Nếu bạn thay đổi tham số Action thành vbDataActionCancel thì VB sẽ xoá thao tác nàytrước khi rời khỏi thủ tục Sub Ngoài ra nếu bạn thay đổi tham số Action sang một trongcác giá trị khác, VB sẽ thực thi thao tác đó thay vì thao tác ban đầu khi thủ tục trải qua
Ví dụ, nếu thủ tục biến cố Validate đã được xảy ra do phương pháp MoveFirst và trongtiến trình của thủ tục bạn có dòng
Action=vbDataActionMoveLast
Thì VB sẽ dịch chuyển bản ghi hiện hành đến cuối bảng đó Bạn chỉo có thể dùng khảnăng này nếu các hành động đó là tương thích VD: bạn không thể thay đổi tham số hànhđộng MoveFirst sang tham số vbDataActionUnload mà không có lỗi
Tham số Save nhận hai giá trị True, False Nếu thông tin bất kỳ trong các điều khiển gắnkết data-aware đã được thay đổi, tham số này là True Điều đó cho bạn một phương phápphân tích thông tin có trong điêug khiển gắn kết trước khi cập nhật cơ sở dữ liệu Để xácđịnh các điều khiển data-aware nào đã được thay đổi, bạn dùng tính chất DataChanged
Trang 10của điều khiển đó Tính chất này là True nếu nội dung của điều khiển đã được thay đổi
và là False nếu không được thay đổi
Hợp lệ hoá sử dụng sự kiện KeyPress, KeyUp, KeyDown
- Các sự kiện trên xảy ra trên các điều kiểm theo bảng sau:
Sự kiện Xảy ra khi
KeyPress Người sử dụng nhấn và thả một phím trên bàn phím trong khi một đối
tượng đang trong tầm ngắmKeyDown Người sử dụng nhấn một phím trên bàn phím trong khi một đối tượngđang trong tầm ngắm
KeyUp Người sử dụng thả một phím trên bàn phím trong khi một đối tượng đang
trong tầm ngắm
Cú pháp của các biến cố này như sau:
Private Sub ControlName_ KeyPress(KeyAscii As Integer)
Trong đó tham số KeýyAscii và KeyCode là mã ASCII của kýy tự vừa được nhấn Tham
số Shift có thể nhận các giá trị sau
Constant Value Description
vbShiftMask 1 SHIFT key bit mask
VbCtrlMask 2 CTRL key bit mask
VbAltMask 4 ALT key bit mask
Trang 11Như vậy ta có thể đặt mã lệnh trong các sự kiện này để kiểm soát xem các phím đượcnhấn xem có hợp lệ hay không và có thể huỷ bỏ những ky tự nhận được bằng cách gánKeyCode=0
Ví dụ:
Private Sub TxtSo_KeyPress(KeyAscii As Integer)
Static dautru As Boolean
Static daucham As Boolean
Select Case KeyAscii
Case vbKeyBack, vbKeyLeft, vbKeyRight, Asc("0") To Asc("9")
Trang 12End Select
End Sub
Hợp lệ hoá sử dụng sự kiện MouseDown, MoseUp
- Các sự kiện trên xảy ra trên các điều kiểm theo bảng sau:
Sự kiện Xảy ra khi
MouseDown Người sử dụng nhấn một nút chuột bất kỳ trong khi con trỏ chuột đang
nằm trên một đối tượng
MouseUp Người sử dụng thả một nút chuột bất kỳ trong khi con trỏ chuột đangnằm trên một đối tượng.
Cú pháp của các biến cố này như sau:
Private Sub ControlName_ MouseUp(Button As Integer, Shift As Integer, X As_Single, Y As Single)
End Sub
Private Sub ControlName_ MouseDown(Button As Integer, Shift As Integer, X As_Single, Y As Single)
End Sub
Constant (Button) Value Description
vbLeftButton 1 Left button is pressed
vbRightButton 2 Right button is pressed
vbMiddleButton 4 Middle button is pressed
Constant (Shift) Value Description
vbShiftMask 1 SHIFT key is pressed
vbCtrlMask 2 CTRL key is pressed
vbAltMask 4 ALT key is pressed
Trang 13Ta có thể đặt mã lệnh để kiểm soát tính hợp lệ của dữ liệu trong hai sự kiện nhằm ngăncản sự chấp nhận dữ liệu cho đến khi các tiêu chuẩn về hình dạng dữ liệu được thoảmãn.
Trang 14Ngôn ngữ vấn tin cơ sở dữ liệu (Structure Query Language)
Cơ sở dữ liệu là gì?
Cơ sở dữ liệu là một kho chứa thồn tin Có nhiều loại cơ sở dữ liệu
Cơ sở dữ liệu và quan hệ chính là một loại cơ sở dữ liệu phổ biến nhất hiện nay Một cơ
sở dữ liệu bao gồm:
• Chứa dữ liệu trong các bảng, đựơc cấu tạo bởi các dòng còn gọi là các mẩutin,và cột còn gọi là các trường
• Cho phép lấy về (hay truy vấn) các tập dữ liệu con từ các bảng
• Cho phép nối các bảng với nhau cho mục điứch truy cập các mẩu tin liên quanđến nhau chứa trong các bảng khác nhau
Bộ máy (Engine) cơ sở dữ liệu là gì?
Chức năng cơ bản của một cơ sở dữ liệu được cung cấp bởi một bộ máy cơ sở dữ liệu,
là hệ thống chương trình quản lý cách thức chứa và trả về dữ liệu Như bộ máy cơ sở dữ
liệu Microsoft Jet, Microsoft SQL Server…
Bảng và trường.
Các cơ sở dữ liệu được cấu tạo từ các bảng dừng thể hiện các phân nhóm dữ liệu Ví
dụ nếu ta tạo một cơ sở dữ liệu để quản lýy các tài khoản trong công việc kinh doanh,
ta phải tạo một bảng cho khách hàng, một bảng cho hoá đơn và một bảng cho nân viên.Bảng có cấu trúc định nghĩa sẵn và chứa dữ liệu phù hợp với cấu trúc này
• Bảng chứa các mẩu tin là các mẩu dữ liệu riêng rẽ bên trong phân nhóm dữliệu
• Mốu tin: Chứa các trường Mỗi trường thể hiện một bộ phận dữ liệu trong mộtmẩu tin
Thiết kế một cở dũ liệu: để tạo một cở dữ liệu trước hết ta phải xác định thông tin gìcần theo dõi Sau đó ta thiết kế cơ sở dữ liệu tạo bảng chứa các trường định nghĩa cáckiểu dữ liệu sẽ có sau ki tạo ra cấu trúc cơ sở dữ liệu, cơ sở dữ liệu có thể chứa dữ liệudưới dạng mẩu tin Ta không thể đưa dữ liệu vào mà không có các bảng hay định nghĩatrường vì dữ liệu sẽ không có chỗ để chứa Do đó thiết kế cơ sở dũ liệu cức kỳ quantrọng nhất là rất khó thay đổi mộ khi đã tạo xong nó
Trang 15Giữa các bảng trong cùng một cơ sở dữ liệu có những mối liên hệ với nhau Khi ta địnhnghĩa một mối quan hệ ta đã thông báo với bộ máy cơ sở dữ liệu biết rằng hai trườngtrong hai bảng liên quan được nối với nhau.
Recordset là gì?
Một khi ta đã biết tạo bảng ta phải biết thao tác với chúng Thao tác trên các bảng liênquan đến việc nhập và lấy dữ liệu từ các bảng khác nhau cũng như việc kiểm tra sửa đổicấu trúc bảng Để thao tác với cấu trúc bảng ta dùng câu lệnh định nghĩa dữ liệu (Câulệnh truy vấn) hoặc một đối tượng TableDef Để thao tác các dữ liệu trong bảng ta dùngRecorSet
Một Recordset là một cấu trúc dữ liệu thể hiện một tập hợp con các mẩu tin lấy về từ cơ
sở dữ liệu Về khái niệm nó tương tự một bảng nhưng có thêm một vài thuộc tính riêng
biệt quan trọng
Các Recordset thể hiện như là các đối tượng, về khái niệm tương tự như là các đốitượng giao diện người sử dụng Cũng như các đói tượng khác trong VB các đối tượngRecordset có các thuộc tính và phương thức riêng
Ta có thể lập trình để tạo và sử dụng các Recordset theo một trong ba thư viện truy cập
dữ liệu:
• Các đối tượng truy cập dữ liệu (DAO)
• Các đối tượng truy cập dữ liệu từ xa (RDO)
• Các đối tượng dữ liệu Active (ADO)
Các câu lệnh SQL được chia làm hai loại:
• DDL(Data definition language): Ngôn ngữ định nghĩa dữ liệu
• DML (Data manipulation languge): Ngôn ngữ thao tác dữ liệu
Trang 16• DCL(Data control language ): Ngôn ngữ điều khiển dữ liệu
• TCL(Transaction control languge): Ngôn ngữ điều khiển phiên dao dịch
Trang 17Kết nối cơ sở dữ liệu sử dụng công nghệ ADO (ActiveX Data Objects)
Công nghệ Open Database Connectivity (ODBC)
ODBC là công nghệ Windows cho phép sử dụng client nối với cơ sở dữ liệu từ xa Lưutrú trên máy Cilent, ODBC tìm cách làm cho nguồn dữ liệu quan hệ trở thành tổng quátđối với ứng dụng Client Điều này có nghĩa là ứng dụng Client không cần quan tâm kiểu
dữ liệu cơ sở mà nó đang nối là gì
Bởi vì đây là công nghệ phía Client, ODBC không đòi hỏi phải xử lý trên Servercuar cơ
sở dữ liệu
ODBC gồm 3 phần :
- Trình quản lý điều khiển (Driver maneger)
• Một hay nhiều trình điều khiển (Driver)
• Một hay nhiều nguồn dữ liệu (Data source)
Kiến trúc của ODBC
Tạo nguồn dữ liệu ODBC.
Để tạo một ứng dụng Client nối với cơ sở dữ liệu Client/Server dùng ODBC, trước hết
ta phải cung cấp thông tin về nguồn dữ liệu trên client Mỗi server yêu cầu những góithông tin khác nhau để nối với client ODBC cung cấp cho thông tin này một tên đơngiản để ta có thể tham chiếu đến nó, thay vì phải thiết lập gói thông tin từ đầu mỗi lần tacần đến nó Điều này cung cấp cho ứng dụng Client khả năng tham chiếu một cách dễdàng đến tổ hợp của một điều khiển, một cơ sở dữ liệu và có thể thêm tên một người sửdụng và mật khẩu Tên này chính là tên của nguồn dữ liệu hay DSN
Để tạo một tên nguồn dữ liệu ODBC trên máy Client, ta theo các bước sau:
+ Đảm bảo có một SQL Server đang hoạt động vàg có thể truy cập nó từ máy Client
Trang 18+ Nhấn đúp chuột lên biểu tượng ODBC Hộp thoại quản trị nguồn dữ liệu xuất hiện:
Ta có thể tạo một trong ba kiểu nguồn dữ liệu ODBC:
+ User DSN: Chỉ có một người tạo ra nó được sử dụng nó và chỉ trên máy đang dùng
+ System DSN: Bất kỳ ai sử dụng máy này cũng có thể dùng được Đây cũng là kiểunguồn dữ liệu mà ta cần tạo khi cài đặt ứng dụng cơ sở dữ liệu Web
+ File DSN: Có thể được copy và sử dụng dễ dàng bởi máy khác
4 Nhấn Finish Trình tạo nguồn cơ sở mới xuất hiện
5 Trong ô Name nhập tên của nguồn dữ liệu Tên này sẽ được dùng trong ứngdụng Client để tham chiếu đến cơ sở dữ liệu, vì vậy nên đặt tên sao cho dễ nhớ
6 Điền vào ô Description thông tin mô tả về cơ sở dữ liệu, thông tin này chỉ hiểnthị trong cửa sổ Control Panel
7 Trong hộp kết hợp Server, chọn chọn bộ máy cơ sở dữ liệu
8 Nhấn Next, màn hình kế tiếp của trình tự động xuất hiện, hỏi ta cách Login vàoServer
Trang 199 Màn hình kế tiếp của trình tự động xuất hiện, chọn vào hộp đánh dấu “Changethe Default database to” rồi chọn cơ sở dữ liệu vừa đạt tên
10 Nhấn Next màn hình kế xuất hiện, nhắc ta chọn thông dịch bộ ký tự (thôngthường ta để mặc định trừ phi ta sử dụng bộ ký tự khác trên Server) nhấn next
11 Màn hình kế cho ta chọn khả năng kích hoạt tác vụ ghi nhật ký Thông thường
ta chỉ chuyển nó thành On nếu ta đang gặp lỗi hay tìm kiếm những nguyênnhân ách tắc trong ứng dụng
Nếu bật tuỳ chọn này thành on và quên không tắt nó thành off thì đay chính là nguyênnhân phổ biến của sự suy biến của khả năng hoạt động truy vấn khi sử dụng ODBC, Vì
là công cụ gỡ rối nên nhớ chuyển nó thành off khi ta đưa ứng dụng thành sản phẩm
1 Nhấn Finish, hộp thoại xuất hiện mô tả chi tiết của nguồn dữ liệu mà ta vừa tạo.Sau đó nhấn nút Test Data Source Trình điều khiển sẽ đáp ứng bằng cáchthông báo một kết nối vừa được thiết lập thành công
Công nghệ OLE DB (Object Linking and Embedding Data Base)
OLE DB là một tập hợp các hệ giao tiếp truy cập dữ liệu của Microsoft dùng để cung cấp
sự tích hợp dữ liệu chung trên một doanh nghiệp bất chấp loại dữ liệu Những giao diệnnày cho phép các nguồn dữ liệu chia sẻ thông tin của chúng qua các giao diện chung màkhông cần bổ sung các chức năng CSDL không có trong nơi lưu trữ
Ta chỉ cần lập trình với phần giao diện của người sử dụng ở phía Client, bởi vì sự truycập dữ liệu trên cả trình trình duyệt Web và ứng dụng Visual Basic được chuyển hết vềphía ActiveX Server, ta có thể đảm bảo rằng logic chương trình luôn nhất quán, bất kểloại chương trình nào đang được dùng
Chỉ ra trình cung cấp OLE DB và chuỗi kết nối
Nếu không chỉ ra trình cung cấp, hoặc ta không dùng đối tượng Connection, ta sẽ có mộttrình cung cấp mặc định là trình cung cấp ODBC MSDASQL
Dùng đối tường connection của ADO để kết nối với nguồn dữ liệu
Thuộc tính Provider của đối tượng Connection là chuỗi ký tự chỉ ra kết nối mà trìnhcung cấp OLE DB sẽ dùng, dùng chuỗi kết nối trong ADO ConnectionString để cungcấp thông tin về cách thức kết nối với Server Tuỳ thuộc vào nguồn dữ liệu mà thông tinkết nối khác nhau:
- Khi ta dùng trình cung cấp ODBC:
cn.provider = “MSDASQL”
Trang 20cn.ConnectionString = “DSN = tracnghiem”
Tất nhiên một DSN tên là tracnghiem phải thực sự tồn tại trên máy Client
Trường hợp kết nối không có DSN
Cn.Provider = “Microsoft.Jet.OLEDB.4.0”
Cn.ConnectionString =”C:\data\dulieu.mdb”
Cn.Properties(“PassWord”) = “minhhue”
Cn.Properties(“User ID”) = “Hue”
- Để nối với cơ sở dữ liệu SQL Server, ta dùng trình cung cấp SQLOLEDB.1
cn.Provider = “SQLOLEDB.1”
cn.ConnectionString = “DATABASE = dulieu; SERVER = NameServer; UID = hue;PWD = minhhue”
Lưu ý trường hợp này, chuỗi kết nối của SQL Server tương tự với chuỗi kết nối không
có DSN, ngoại trừ tham số DRIVER=
- Để kết nối với Oracle, ta dùng trình điều khiển Oracle gọi là MSDAORA
Trang 21cn.Provider =”MSDAORA”
cn.ConnectionString = User/MyPassWord@ServiceName
Trên đây là cách kết nối Oracle chuẩn, tổ hợp tên người sử dụng, mật khẩu và tên dịch
vụ Ta còn có thể logon vào Oracle bằng cách cung cấp Server, tên người sử dụng nhưtham số cho phương thức Open của đối tượng connection
Dim cn As ADODB.Connection
Set cn = New ADODB.connection
cn.Provider = “MSDAORA”
cn.Open “Server”, “UserID”, “PasWord”
Công nghệ Data Access Object (DAO)
Ta có thể dùng DAO để thao tác với cơ sở dữ liệu (CSDL) thông qua môi trường lậptrình Visual Basic 6.0, với DAO ta có thể thi hành các câu truy vấn, cập nhật giá trị,trong các bảng CSDL và tạo cấu trúc CSDL bao gồm các bảng, các câu truy vấn chứasẵn và mối quan hệ giữa các bảng
Mô hình đối tượng DAO khá phức tạp với hàng trăm yếu tố, hàng tá kiểu tập hợp chứa
rất nhiều đối tượng xử lý CSDL Thông qua các tập hợp sở hữu bởi đối tượng DataBase,
ta có thể thao tác trên dữ liệu và cấu trúc của CSDL chứa trong một CSDL
Trong lập trình DAO, có một tập hợp cốt lõi gồm các kỹ thuật thông dụng được sử dụnggần như cho mọi chương trình Chúng bao gồm:
- Thi hành câu truy vấn SELECT để lấy về các dữ liệu từ CSDL
- Duyệt qua từng mẩu tin trong một RecordSet
- Thi hành câu truy vấn hành động (Update, Delete và Append, )
- Sửa đổi cấu trúc CSDL
- Xử lý lỗi phát sinh bởi truy cập CSDL
+ Các tập hợp hiện có trong lập trình DAO 3.5 và thể hiện của chúng:
Trang 22Thể hiện kết nối mở cho bộ máy CSDL, thôngthường ta chỉ có thể có 1 workspace hoạt độngtại thời điểm hiện thời
Thuộc tính Count,Append, Deletephương thức RefreshDataBase Tất cả các CSDL được mở trong 1 workspace,thường ta chỉ có 1 CSDL được mở hiện thời Thuộc tính Count,phương thức Refresh
TableDefs Tất cả các định nghĩa bảng hiện có trong 1
CSDL
Thuộc tính Count,Append, Delete,phương thức Refresh
QueryDefs Tất cả các định nghĩa truy vấn hiện có trong 1
CSDL
Thuộc tính Count,Append, Delete,phương thức RefreshRecordSet Tất cả các RecordSet mở trong ngữ cảnh của
một CSDL duy nhất
Thuộc tính Count,phương thức RefreshParameter Các tham số hiện có trong một QueryDef nhất
định
Thuộc tính Count,phương thức Refresh
Relations Mối quan hệ được định nghĩa trong 1 CSDL
đặc biệt
Thuộc tính Count,Append, Delete,phương thức RefreshConnections Kết nối đến CSDL hiện hữu bởi 1 đối tượngworkspace =ODBCDirect Thuộc tính Count,phương thức Refresh
Indexes Chỉ mục thuộc về một TableDef nhất định
Thuộc tính Count,Append, Delete,phương thức Refresh
Fields Các trường hiện có trong một cấu trúc dữ liệu
Thuộc tính Count,Append, Delete,phương thức Refresh
Groups Nhoms bảo mật sở hữu bởi CSDL (tham khảo
phần CSDL nhiều người sử dụng)
Thuộc tính Count,Append, Delete,phương thức Refresh
Users
Danh sách người sử dụng xác định bởi tínhnăng bảo mật CSDL (tham khảo phần CSDLnhiều người sử dụng)
Thuộc tính Count,Append, Delete,phương thức RefreshErrors Lỗi sinh ra do 1 hành động của DAO Thuộc tính Count,
phương thức Refresh
Trang 23Containers Nhóm các đối tượng tài liệu định nghĩa sẵnchứa trong CSDL Thuộc tính Count,phương thức Refresh
Documents CSDL, bảng, và quan hệ là những ví dụ của
đối tượng
Thuộc tính Count,phương thức Refresh
Properties Các thuộc tính của một đối tượng DAO
Thuộc tính Count,Append, Delete,phương thức Refresh
Sử dụng DAO để làm việc với sữ liệu
Dùng đối tượng DataBase để kết nối với 1 CSDL
+ Từ menu Project chọn Reference
+ Chọn "Microsoft DAO 3.51 Object Library"
+ Chọn OK
Dùng phương thức OpenDataBase để tạo đối tượng DataBase
Phương thức này trả về một đối tượng DataBase do đó trước khi dùng ta phải khai báobiến đối tượng có kiểu DataBase để chưa giá trị trả về của phương thức
Dim DB As Database
Set DB = OpenDatabase(DBName, [Option], [ReadOnly], [Connect])
DBName: Tên file CSDL
Option: = True: CSDL được mở trong chế độ loại trừ (không ai khác có thể mở nó)
= False: Mọi người có thể mở nó
ReadOnly: = True: Ta không thể sửa đổi CSDL
Connect: Cách thức kết nối với CSDL Client/Server
? Dùng đối tượng RecordSet để thao tác với các mẩu tin
Ta sử dụng đối tượng RecordSet để thao tác với các mẩu tin trong DAO Đối tượngRecordSet cung cấp một giao diện hướng đối tượng cho mô hình CSDL quan hệ liênquan đến các bảng được chia thành những mẩu tin và trường
Trang 24? Dùng phương thức OpenRecordSet để tạo đối tượng RecordSet
Trong DAO các đối tượng DataBase, Connection, QueryDef, TableDef, và RecordSet
đều có phương thức OpenRecordSet, tất cả đều dùng để truy cập dữ liệu chứa trong
CSDL
Set Recordset = object.OpenRecordset (Source, [Type], [Options],[LlockEdits])
Recordset: Biến đối tượng bạn muốn mở
Object: Đối tượng đã tồn tại để tạo có phương thức OpenRecordSet
Source: Một chuỗi chỉ ra nguồn dữ liệu mà RecordSet sẽ lấy, có thể là tên bảng,tên truy vấn hoặc một câu truy vấn.Type Lựa chọn: Một hằng số quy định kiểu của con chỏ Recordset được mởOptions Lựa chọn: Một sự kết hợp hằng số chỉ ra đặc tính của Recordset
LockEdit Lựa chọn: Một hằng số xác định khoá của Recordset
Type: có thể nhận các kiểu sau
Tên hằng Mô tả (ý nghĩa)
dbOpenTable
Tạo một đối tượng Recordset kiểu bảng trong mộtWorkSpaceCho phép sửa đổi bản ghi, không thể trình bày kếtquả của câu truy vấn nhiều bảng
dbOpenDynamic
Mở một đối tượng Recordset kiểu Dymamic trong 1WorkSpace Cho phép sửa đổi, thêm hay xoá ngay khiRecordSet đang được mở ở user khác, không hiệu quả =Dynaset
dbOpenDynaset
Mở một đối tượng Recordset kiểu Dynaset , cho phép cậpnhật, cho phép lấy về các mẩu tin từ nhiều bảng = cách nốibảng, cập nhật được, tốc độ tìm kiếm chậm
dbOpenSnapshot
Mở một đối tượng Recordset kiểu Snapshot, nhanh hơnDynaset, cập nhật được chỉ trả về một bản sao còn Dynasetlấy về 1 bộ các tham chiếu RecordSet
dbOpenForwardOnly
(Defalt) Mở một đối tượng Recordset tương tự như Snapshotnhưng nhanh hơn Snapshot, con trỏ của nó chỉ có thể dichuyển tới phía trước
Options:Bạn có thể dùng kết hợp của những hằng cho đối số Options
Trang 25Tên hằng Mô tả (ý nghĩa)
dbAppendOnly Cho phép người dùng thêm bản ghi mới, ngăn chặn sửa đổi,
xoá các bản ghi đang tồn tại
dbSQLPassThrough Thực hiện một câu truy vấn (Microsoft Jet snapshot-type
Recordset only)
dbSeeChanges Phát sinh một lỗi nếu người sử dụng đang thay đổi dữ liệu mà
một người sử dụng khác truy nhập vào
dbDenyWrite Ngăn chặn các user khác sửa đổi hoặc thêm bản ghi
dbDenyRead Ngăn chặn các user khác đang đọc trong bảng
Microsoft ODBC 3.0 Programmer’s Reference."
dbInconsistent Cho phép cập nhật những mâu thuẫn (Microsoft Jet
dynaset-type and snapshot-dynaset-type Recordset objects only)
dbConsistent Chie cho phép cập nhật thích hợp (Microsoft Jet dynaset-typeand snapshot-type Recordset objects only).
LockEdits:Bạn có thể dùng những hằng cho cho đối số LockEdit
Tên hằng Mô tả (ý nghĩa)
dbReadOnly
Ngăn chặn user thay đổi Recordset (Default cho ODBCDirectworkspaces) Bạn có thể dùng dbReadOnly trong lựa chọnoptions, hoặc trong LockEdit (nhưng không gồm cả 2 Nếu bạndùng cả 2 sẽ có lỗi)
dbPessimistic Dùng Pesimistic khoá kết nối môi trường nhiều người dùng
dbOptimistic Dùng Pesimistic khoá kết nối môi trường nhiều người dùng cho
đến khi thi hành phương thứcUpdate
Trang 26dbOptimisticBatch Cho phép cập nhật theo gói.
? Các thuộc tính, phương thức của RecordSet
+ Thuộc tính EOF (End Of File) = True khi con trỏ bản ghi ở vị trí cuối của RecordSet
+ Thuộc tính BOF (Begin Of File)=True khi ta di chuyển con trỏ bản ghi đến cuối dòngcủa RecordSet
+ Các phương thức di chuyển con trỏ RecordSet
- MoveFirst: Di chuyển con trỏ đến mẩu tin đầu tiên trong RecordSet
- MoveNext: Di chuyển con trỏ đến mẩu tin kế tiếp sau trong RecordSet
- MovePrevious: Di chuyển con trỏ đến mẩu tin kế tiếp trước trong RecordSet
- MoveLast: Di chuyển con trỏ đến mẩu tin cuối cùng trong RecordSet
- Move: Di chuyển một số mẩu tin được chỉ định
+ Thuộc tính RecordCount xác định số mẩu tin trong một RecordSet
+ Phương thức Edit cho phép sửa đổi giá trị trong một mẩu tin
- Dùng phương thức duyệt để di chuyển con trỏ bản ghi đến vị trí cần sửa
- Thi hành phương thức Edit
- Dùng tập hợp Fields của đối tượng RecordSet để gán giá trị mới cho mẩu tin
- Dùng phương thức Update để cập nhật giá trị mới cho RecordSet
+ Dùng phương thức AddNew và Update để tạo mẩu tin mới
- Thi hành phương thức AddNew để thêm bản ghi mới
- Dùng tập hợp Fields của đối tượng RecordSet để gán giá trị mới cho mẩu tin
- Dùng phương thức Update để cập nhật giá trị mới cho RecordSet
+ Các phương tìm kiếm để định vị mẩu tin
- FindFirst:
Trang 27- FindNext:
- FindPrevious:
- FindLast:
RecordSet.{FindFirst | FindLast | FindNext | FindPrevious} Criteria
Criteria: Một xâu chứa điều kiện tìm kiếm
Ví dụ:
Public dao As Database
Private Sub Form_Load()
Set dao = OpenDatabase(App.Path & "\qlbh97.mdb")
End sub
-Public Sub mbdao(rs As Recordset, tenbang As String)
Set rs = dao.OpenRecordset(tenbang, dbOpenSnapshot)
Trang 28Call modao(rs, “loai”)
Do While not rs.EOF
If Ucase(rs!maloai) = Ucase("mb") then
1 Trình quản lý điều khiển (Driver manager)
2 Một hay nhiều trình điều khiển (Driver)
Trang 293 Một hay nhiều nguồn dữ liệu (Data Source)
Tạo nguồn dữ liệu cho ODBC
1 Đảm bảo rằng ta có một SQL Server đang hoạt động
2 Phóng Coltrol Panel
3 Chọn ODBC hộp thoại quản trị nguồn dữ liệu xuất hiện
Hình 1.2 Hộp thoại Quản trị nguồn dữ liệu ODBC
? User DSN: Chỉ có người tạo ra nó mới sở dụng nó và chỉ trên máy đang dùng
? System DSN: Bất kỳ ai sử dụng máy này cũng có thể dùng được
? File DSN: Có thể được copy và sử dụng dễ dàng bởi máy khác
Tạo System DSN
1 Chọn tab System DSN trong cửa sổ ODBC Data Source Administrator
Trang 302 Chọn Add.
3 Hộp thoại Create New Data Source xuất hiện Chọn tên của điều khiẻn CSDL ta muốndùng
4 Chọn Finish
5 Chọn tên của nguồn dữ liệu ở Name (Tên này sẽ được dùng trong ứng dụng Client để
tham chiếu đến CSDL, vì thế nên đặt cho gợi nhớ)
6 Description chỉ định thông tin hiển thị trong cửa sổ ODBC của Control Panel
7 Trong hộp thoại Server, chọn (tên Server) SQL Server chứa CSDL mà ta đang làmviệc
8 Chọn Next chọn cơ chế Login vào server Sau đó nhập tên người sử dụng và mật khẩu Nhấn Next
9 Chọn ô đánh dấu "Change the default database", rồi chọn cơ sở dữ liệu là "Data" từ
hộp kết hợp
10 Nhấn Next Trên màn hình nhắc ta chọn thông dịch bộ ký tự Hãy nhấn Next
11 Màn hình kế cho ta chọn khả năng kích hoạt tác vụ ghi nhật ký
12 Chọn Finish sau đó nhấn nút Test Data Source
13 Nhấn OK , tên nguồn dữ liệu mới sẽ xuất hiện trong cửa sổ ODBC Data Source
Addministrator
Kiểm nghiệm kết nối CSDL ODPC (Ping)
Công việc này được dùng khi cần xác định nguyên nhân trục trặc trong một kết nốiClient/Server, là do Server, do kết nối mạng, do ODBC hay do ứng dụng Client
Cú pháp:
ODBCPing /UUserName/ PPassWord/ SServer
Ví dụ: Để kiểm định kết nối với SQL Server = BEDROCK, UserName= randy, PassWord=Prince
ODBCPing /Urandy /Pprince / SBEDROCK
Trang 31+Từ dấu nhắc DOS, gõ lệnh
ODBCPing /Urandy /Pprince / SBEDROCK ?
+ ODBCPING thiết lập kết nối với Server rồi thoát
Kiểm nghiệm SQL Server DSN
1 Tạo nguồn dữ liệu ODBC tên là Novelty
2 Tạo 1 đề án Standard.EXE của VB.
3 Thêm điều khiển "Micrisoft Data Bound Grid Control"
4 Thêm đều khiển DBGrid
5 Tạo 1 form và 2 điều khiển kết nối dữ liệu
6 Đổi thuộc tính Data.DefaultType = 1 - UseODBC
7 Thiết lập thuộc tính Data.Connect = "ODBC;UID=randy; PWD=printce;
DSN=Data"
8 Thiết lập thuộc tính Data.RecordSet= "SELECT * from cauhoi"
9 Quy định thuộc tính DBGrid.DataSource = Data1
10 Thi hành ứng dụng
Truy cập dữ liệu dùng điều khiển dữ liệu từ xa
+ Điều khiển dữ liệu từ xa (Remote Data Control - RDO) là một cách truy cập dữ liệu
từ xa trong một ứng dụng viết bằng Visual Basic, giao diện lập trình tương tự như điều
khiển ADO Data hay DAO Data.
+ Sử dụng RDC
- Trong Visual Basic chọn menu Project, Components
- Chọn "Microsoft Remote Data Control ", thiết lập tham chiếu đến "Microsoft Data
Bound Grid Control ".
- Chọn OK
Trang 32- Tạo một instance cho điều khiển Remote Data và điều khiển Data Bound Grid
- Nhập tên người sử dụng vào thuộc tính RemoteData UserName
- Nhập vào mật khẩu người dùng truy cập cơ sở dữ liệu vào thuộc tính RemoteData
.Passoword
- Quy định thuộc tính SQL RemoteData.SQL = "SELECT * from Noidung"
- Chọn DSN cho cơ sở dữ liệu SQL Server ở thuộc tính Remote Data.DataSourceName.
(DSN được tạo trước đây, sẽ xuất hiện trong danh sách thả xuống)
- Đặt thuộc tính DBGrid.DataSource = MSRDC1
- Thi hành ứng dụng
Sử dụng RDO trong chương trình
Đối tượng dữ liệu từ xa (Remote Data Object - RDO) được sắp xếp trong cấu trúc phânnhánh đối tượng tương tự như DAO
+ Tạo tham chiếu đến RDO trước khi sử dụng: chọn Project/ Reference/ "Microsoft
Remote Data Object 2.0"
+ Chọn OK
Thiết lập kết nối dùng đối tượng RDOConnection
Ta có thể dùng đối tượng RDOConnection để thiết lập 1 kết nối đến Server cơ sở dữ liệu
từ xa trong RDO
Để tạo 1 kết nối dùng đối tượng RDOConnection, ta bắt đầu bằng công việc tạo chuỗikết nối ODBC gồm các phần tử thông dụng:
UID Tên login của người sử dụng
PID Mật khẩu của người sử dụng
DSN Tên nguồn dữ liệu ta tạo trong trình Quản lý Điều khiển ODBC
SRIVER Điều khiển ODBC mà ta muốn dùng
DATABASE Tên cơ sở dữ liệu mà ta muốn kết nối
APP Tên ứng dụng kết nối với CSDL
Trang 33LANGUAGE Ngôn ngữ quốc tế được dùng bởi Server
SERVER Tên của SQL Server mà ứng dụng kết nối đến
Ta không nhất thiết phải dùng toàn bộ các tham biến
Ví dụ: DSN=DSNQLBH; UID=hue;PWD=minhhue
Nếu không cung cấp tên login và mật khẩu ngời sử dụng vào trong chuỗi kết nối, khiứng dụng nối đến server, trình điều khiển ODBC sẽ hiển thị hộp thoại yêu cầu ngời sửdụng cung cấp thông tin vào
Thi hành phơng thức EstablishConnection để thi hành kết nối
Ví dụ: Set rdo = New rdoConnection
rdo.Connect = "DSN=DSNQLBH"
rdo.EstablishConnection
Thi hành truy vấn đối với RDOQuery và RDOResultset chứa kết quả các mẩu tin trả về
Dùng đối tợng RDOQuery để tạo câu truy vấn SQL động và đối tợng RDOResualset
để chứa kết quả các mẩu tin trả về thông qua phương thức OpenResultset của đối tợngRDOQuery
VD:
Public rdo as rdoConnection
-Public Sub Form_load()
Set rdo = New rdoConnection
rdo.Connect = "DSN=DSNQLBH"
rdo.EstablishConnection
End Sub
Trang 34Public Sub mbrdo(rq As rdoQuery, rs As rdoResultset)
Dim rq As rdoQuery
Dim rs As rdoResultset
Set rq = New rdoQuery
Set rq.ActiveConnection = rdo
rq.SQL = "select * from loai"
-Công nghệ ActiveX Data Objects (ADO)
ADO là công nghệ truy cập cơ sở dữ liệu hướng đối tượng ADO được xem là kỹ thuật
để truy cập cơ sở dữ liệu từ Web Server Vì ADO được cung cấp dưới dạng thư việnActiveX Server Ta có thể dùng ADO trong ứng dụng Visual Basic Trong thực tế sử
Trang 35dụng ADO để làm việc với cơ sở dữ liệu Client / Server thì dễ hơn kỹ thuật khác ADO
là giao diện dựa trên đối tượng cho công nghệ dữ liệu mới OLE DB
Trang 36Truy xuất dữ liệu sử dụng công nghệ ADO
Truy xuất dữ liệu sử dụng điều khiển ADO Data Control
Tạo một ứng dụng dừng điều khiển ADO Data rất đơn giản Ta chỉ quan tâm đếnviệc duyệt cơ sở dữ liệu, không cần quan tâm đến lập trình Thông qua hai thuộc tínhConnectionString và RecordSource của điều khiển Data, sau đó ràng buộc điều khiểnvới giao diện người sử dụng Các bước thực hiện:
1 Bắt đầu một đề án mới của Visual Basic
2 Vào Menu Project Components, lập một tham chiếu đến “Microft ADO DataControl 6.0 (OLEDB)”
3 Nhấn OK, điều khiển ADO Data xuất hiện trên thanh công cụ của Visual Basic.Nhấp Double chute lên điều khiển để tạo một instance của điều khiển trên biểumẫu
4 Di chuyển điều khiển đến vị trí thích hợp trên biểu mẫu
5 Nhấn nút phải chuột lên điều khiển, Menu bật ra chọn ADODB Properties
6 Hộp thoại Data Link Properties xuất hiện Chọn nút tuỳ chọn “User ConnectionString” rồi nhấn Build
7 Hộp thoại Data Link Properties xuất hiện Đây là hộp thoại dùng để kết nối với
cơ sở dữ liệu, sửdụng các bước kết nối để kết nối với cơ sở dữ liệu
8 Trong hộp thoại Proprety pages của điều khiển ADO Data, thông báo cho điềukhiển bảng nào sẽ được dùng, chọn tab RecordSource, rồi chọn adCmdTable từhôpkj kết hợp commandType
9 Chọn hộp kết hợp Table or Stored Procedure Name hộp kết hợp hiển thị danhsách tất cả các bảng trong cơ sở dữ liệu Chọn bảng cần kết nối rồi nhấn Ok
Kết nối đến cơ sở dữ liệu xảy ra khi ứng dụng thi hành Tuy nhiên, kêt nối không cóthông báo, bởi vì không có cách nào để hiển thị dữ liệu Để hiển thị dữ liệu trả vè từ mộtđiều khiển dữ liệu ta phảI tạo các kết nối ràng buộc với điều khiển dữ liệu Theo cácbước sau:
1 Tạo các điều khiển
2 Quy định thuộc tính DataSource của các điều khiển là tên của điều khiển ADOData
3 Chọn điều khiển, quy định thuộc tính DataField của nó là một trường trong cơ
sở dữ liệu
Sử dụng điều khiển Data để kết nối với cơ sở dữ liệu
Người sử dụng có thể duyệt qua các mẩu tin bằng các nút của điều khiển
Trang 37Sử dụng điều khiển ADO Data để cập nhật mẩu tin
Khi người sử dụng sửa đổi mẩu tin hiển thị bởi điều khiển, mẩu tin đó tự động được cậpnhật ngay sau khi người sử dụng di chuyển sang mẩu tin khác hoặc bằng chương trình
ta có thể thao tác với đối tượng Recordset
Ngoài khả năng cho phép duyệt qua RecordSet, điều khiển ADO Data cho phép thi hànhcác hoạt động trên dữ liệu Nhiều hoạt động không đòi hỏi lập trình Ta có thể dùngchương trình với điều khiển dữ liệu để duyệt qua từng mẩu tin, xoá mẩu tin, và tạo mẩutin mới
Phần lớn chương trình phải viết khi làm việc với cơ sở dữ liệu đều tập trung trênđối tượng Recordset Một đối tượng Recordset được sẵn sàng khi ta quy địng thuộctính ConnectionString và RecordSoure của điều khiển Để truy cập một thuộc tính hayphương thức của đối tượng Recordset của điều khiển dữ liệu trong chương trình, tat hamchiếu đến điều khiển dữ liệu, rồi tham chiếu đến đối tượng Recordset, rồi tham chiếuđến đối tượng hay phương thức của đối tượng Recordset
VD: để chuyển đến mẩu tin cuối cùng của Recordset chứa trong điều khiển dữ liệudataADO, ta dùng đoạn chương trình sau:
dataADO.Recordset.MoveLast
Truy xuất dữ liệu sử dụng công nghệ ADO
Dữ liệuđối tượng ADO (ActiveX Data Object) là công nghệ truy cập CSDL hướng đối
tượng tương tự như DAO và RDO
ADO hiện nay được Microsoft xem là kỹ thuật để truy cập CSDL từ Web Server, sửdụng ADO để làm việc với CSDL Client / Server thì dễ hơn các kỹ thuật khác
Phần lớn các nhà lập trình Visual Basic không tương tác trực tiếp với OLE DB.Thay vào
đó, họ lập trình với ADO, mô hình đối tượng cung cấp giao diện với OLE DB
Trang 381 Đối tượng Command : Chạy một câu truy vấn SQL hay chay một thủ tục lưu trữ dữliệu
Methods Result - Type Discription
Open
CreatParameter Parameter Tạo đối tượng Parameter mới
Execute Recordset - Thực thi các câu truy vấn SQL- Thực thi các
hàm lưu trữ dữ liệuProperties Result - Type Discription
ActiveConnection Variant Chỉ ra đối tượng Connection nào tácd động lên
đóCommandText String Chứa lệnh thực thi trên CSDL
CommandTimeout Long Khoảng thời gian timeout khi thực thi lệnhCommandType CommandType Kiểu của lệnh trong đối tượng Command
Prepared Boolean Xác định có lưu hay không 1 bản dịch của lệnhtrước khi thực thi
Collections Result - Type Discription
Parameters Parameters Chứa các đối tượng Parameters
Properties Properties Chứa các đối tượng Properties
2 Đối tượng Connection : Tạo liên kết tới kho lưu trữ dữ liệu
đối tượng khác đi kèmCommitTrans Lưu các thay đổi và kết thúctransaction hiện hành
Trang 39Execute Recordset Chạy các truy vấn SQL, cacds hàm,…
Mở một liên kết đếnDataSourceCn.Open [connect],[userid], [password]
schema
và kết thúc nó
Attributes Long Xác định một hay nhiều kiểu đặcbiệt của đối tượng connection
CommandTimeout Long Khoảng thời gian chờ khi thực thi
lệnhConnectionString String Chứa thông tin dùng để tạo liên kết
tới CSDLConnectionTimeout Long Khoảng thời gian timeout khi chờthiết lập liên kết
CursorLocation CursorLocationEnum
String Trả về vị trí của con trỏ hiện hành
Connection
transaction
trong cầu nốiProvider String Xác định tên nhà cung cấp cho đốitượng Connection
Collections Result - Type Discription
bởi nhà cung cấp
Trang 40Properties Properties Chứa các đối tượng Properties
BegỉnTransComplete Xảy ra ngay sau khi thao tác
BeginTrans hoàn tấtCommitTransComplete Xảy ra ngay sau khi thao tácCommitTrans hoàn tất
ConnectionComplete Bắt đầu ngay sau khi liên kết hoạt
động
thúcExecuteComplete Xảy ra sau khi lệnh được thực thixong
InfoMessage
Xảy ra khi một thao tácConnectionEvent thực hiện thànhcông
RollbackTransComplete Bắt đầu sau khi thao tác
Refresh Cập nhật lại các thông tin về các đối tượng Error
Properties Result
-Type DiscriptionDescription String Chú thích tương ứng cho lỗi
HelpContext Integer Xác định ContexID trong file help chứa các lỗi
HelpFile String Tên của file Help