Kết nối cơ sở dữ liệu sử dụng công nghệ ADO (activex data objects) - Pdf 33

Kết nối cơ sở dữ liệu sử dụng công nghệ ADO (ActiveX Data Objects)

Kết nối cơ sở dữ liệu sử dụng
công nghệ ADO (ActiveX
Data Objects)
Bởi:
Khoa CNTT ĐHSP KT Hưng Yên

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ưu
trú 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

1/19


Kết nối cơ sở dữ liệu sử dụng công nghệ ADO (ActiveX Data Objects)

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ói
thông tin khác nhau để nối với client. ODBC cung cấp cho thông tin này một tên đơn

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ào
Server.
9. 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 “Change
the 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ông
thườ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ên
nhâ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ên
nhâ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ách
thô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ện
nà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ự truy
cậ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.
3/19


Kết nối cơ sở dữ liệu sử dụng công nghệ ADO (ActiveX Data Objects)


Kết nối cơ sở dữ liệu sử dụng công nghệ ADO (ActiveX Data Objects)

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
cn.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ập
trì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ứa
sẵ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

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 Refresh

RecordSet

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 Refresh

Parameter


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ính
năng bảo mật 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

Indexes

Properties

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áo
biến đối tượng có kiểu DataBase để chưa giá trị trả về của phương thức.
Dim DB As Database

7/19


Kết nối cơ sở dữ liệu sử dụng công nghệ ADO (ActiveX Data Objects)

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ượng
RecordSet cung cấp một giao diện hướng đối tượng cho mô hình CSDL quan hệ liên
quan đến các bảng được chia thành những mẩu tin và trường.
? Dùng phương thức OpenRecordSet để tạo đối tượng RecordSet


8/19


Kết nối cơ sở dữ liệu sử dụng công nghệ ADO (ActiveX Data Objects)

dbOpenTable

Tạo một đối tượng Recordset kiểu bảng trong một
WorkSpaceCho phép sửa đổi bản ghi, không thể trình bày kết
quả của câu truy vấn nhiều bảng

dbOpenDynamic

Mở một đối tượng Recordset kiểu Dymamic trong 1
WorkSpace Cho phép sửa đổi, thêm hay xoá ngay khi
RecordSet đ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ập
nhật, cho phép lấy về các mẩu tin từ nhiều bảng = cách nối
bả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ơn
Dynaset, cập nhật được. chỉ trả về một bản sao còn Dynaset
lấy về 1 bộ các tham chiếu RecordSet.

Ngăn chặn các user khác đang đọc trong bảng.

dbForwardOnly

Tạo 1 con trỏ Recordset kiểu Snapshot. Nó cung cấp chỉ tương
thích con trỏ kiểu Forward và bạn nên dùng hằng
dbOpenForwardOnly trong hằng của lựa chon Options

dbReadOnly

Ngăn chặn users thay đổi bản ghi. Bạn nên dùng hằng
bReadOnly trong hằng của lựa chon Options

dbRunAsync

Thi hành truy vấn đồng bộ.

9/19


Kết nối cơ sở dữ liệu sử dụng công nghệ ADO (ActiveX Data Objects)

dbExecDirect

Thi hành truy vấn trực tiếp gọi bởi SQLExecDirect. Chỉ dùng
lựa chọn này khi bạn không mở RecordSet. Xem thêm
Microsoft ODBC 3.0 Programmer’s Reference."

dbInconsistent


? 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òng
củ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
10/19


Kết nối cơ sở dữ liệu sử dụng công nghệ ADO (ActiveX Data Objects)

+ 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:
- FindNext:
- FindPrevious:
- FindLast:

Rs.Edit
Rs!tenloai = “Máy bay moi”

12/19


Kết nối cơ sở dữ liệu sử dụng công nghệ ADO (ActiveX Data Objects)

Rs.Update
End if
Rs.MoveNext
Loop
rs.Close
End sub

Công nghệ Remote Data Access Object (RDO)
+ Định cấu hình và sử dụng ODBC
ODBC là một công nghệ của Windows cho phép ứng dụng Client kết nối với CSDL từ
xa.
ODBC gồm 3 phần:
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)
3. 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

13/19


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ối
Client/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
+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

15/19


Kết nối cơ sở dữ liệu sử dụng công nghệ ADO (ActiveX Data Objects)

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"

--------------------Public Sub mbrdo(rq As rdoQuery, rs As rdoResultset)
Dim rq As rdoQuery
Dim rs As rdoResultset
Set rq = New rdoQuery

18/19


Kết nối cơ sở dữ liệu sử dụng công nghệ ADO (ActiveX Data Objects)

Set rq.ActiveConnection = rdo
rq.SQL = "select * from loai"
Set rs = rq.OpenResultset
Do While Not rs.EOF
If rs!maloai = "tv" Then
rs.Edit
rs!tenloai = "ti vi mau"
rs.Update
MsgBox "mau tin vua duoc sửa"
End If
rs.MoveNext
Loop
rs.Close
End Sub
----------------------

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ện
ActiveX Server. Ta có thể dùng ADO trong ứng dụng Visual Basic. Trong thực tế sử


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status