1
2
Mô hình ADO
(Microsoft ActiveX Data Object)
Connection
Command
Parameter
Record Set
Field
Error
Fields
Properties
Parameters
Errors
Property
3
ADO và OLEDB
Client Application
Remote Data Object ActiveX Data Object
ODBC Driver OLEDB Data Provider
ODBCDriver
Manager
OLE DB
Relational
Database
Document
Server
Email
Server
4
Các thuộc tính ADO
z Connection string (Chuỗikếtnối)
z Command text (Vănbảncâulệnh)
z Command type (Kiểucâulệnh)
z Cursor location (Định vị con trỏ)
z Cursor type (Kiểu con trỏ)
z Lock type (Kiểu khóa)
z Mode type (Kiểuchếđộlàm việc)
5
Sử dụng Connection
z Chọn Project -> References -> Microsoft ActiveX
Data Objects 2.x Library.
z Khai báo mộtbiến (toàn cục/ cụcbộ) kiểu
ADODB.Connection
Dim cn As ADODB.Connection
z Tạokếtnốitrướckhisử dụng
Set Cn = new ADODB.Connection
Cn.ConnectionString= “……………….”
Cn.Open
z Đóng kếtnối sau khi dùng xong
Cn.Close
Connection String
6
Connection string
z Chỉđịnh trình cung cấp (Provider) OLEDB sử dụng để
kếtnối đếnCSDL.
Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=DatabasePathname
Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=DatabasePathname
MS ACCESS
Provider=SQLOLEDB.1;
Persist Security Info=False;
User ID=Us ername;
Password=Password;
Initial Catalog=DatabaseName;
Data Source=ServerName
Provider=SQLOLEDB.1;
Persist Security Info=False;
User ID=Us ername;
Password=Password;
Initial Catalog=DatabaseName;
Data Source=ServerName
MS SQL Server
7
Command type
z Thuộc tính này quy định kiểu query bạn đang sử
dụng để thựcthimộtyêucầudữ liệu
– adCmdText
– adCmdTable
– adCmdStoredProc
– adCmdUnknown (Kiểumặc định)
– adCommandFile
– adCmdTableDirect
8
Cursor locations
z Cho phép quản lý cursor phía máy khách hoặcmáy
chủ cho recordset.
– AdUseClient
– AdUseServer (Mặc định)
– AdUseClientBatch
– AdUseNone
9
Cursor type
z Quy định loại recordset sẽđượctrả về bởi trình cung
cấpdữ liệu.
z Có 4 loại:
– adOpenForwardOnly (Mặc định)
– adOpenKeyset
– adOpenDynamic
– adOpenStatic
10
Lock type
z Quy định cách quảnlýviệc khóa trong suốtcác
phiên (Transaction) hiệuchỉnh với recordset của
bạn.
– adLockReadOnly
– adLockPessimistic
– adLockOptimistic
– adLockBatchOptimistic
11
Mode type
z Cung cấpviệchạnchế truy cập đến CSDL trong khi
bạn đang có một recordset đang mở.
– adModeUnknown
– adModeRead
– adModeWrite
– adModeReadWrite
– adModeShareDenyRead
– adModeShareDenyWrite
– adModeShareExclusive
– adModeShareDenyNone
12
Hướng dẫnkếtnối CSDL ADO
z Viếthàmmở recordset
Public Function OpenRS(ByVal strsql As String) As
ADODB.Recordset
Dim prs As ADODB.Recordset
Set prs = New ADODB.Recordset
Set prs.ActiveConnection = cn
prs.Open (strsql)
Set OpenRS = prs
End Function
13
Hướng dẫnkếtnối CSDL ADO
z Viếthàmthựcthimộtcâutruyvấn
Public Sub ExecSQL(ByVal strsql As String)
cn.Execute (strsql)
End Sub
14
Hướng dẫnkếtnối CSDL ADO
z Mỗilầnchương trình muốnthựchiệntruyvấndữ
liệutasử dụng như sau :
Dim SQL as String
SQL = “ Nội dung câu select …”
Dim pResultRs as ADODB.Recordset
Set pResultRS = OpenRS(SQL)
….
…Sử dụng pResultSet ởđây
…
Set pResultRs = nothing
15
Hướng dẫnkếtnối CSDL ADO
z Muốncậpnhật CSDL(insert, update, hoặc delete), ta
thựchiệnnhư sau:
Dim SQL as String
SQL = “ Nội dung câu lệnh SQL insert, delete hoặc update
…”
ExecSQL (SQL)