truy nhập cơ sở dữ liệu trong visual basic - Pdf 66

III/ Truy cập cơ sở dữ liệu trong Visual Basic
1/ Giới thiệu ODBC (Open Database Connectivity)
 Khái niệm
 ODBC là một chuẩn do Microsoft đưa ra để truy cập dữ liệu .Phát
triển ODBC, Microsoft muốn xây dựng một Application Programming
Interface ( API ) duy nhất có thể sử dụng để truy cập cơ sở dữ liệu
trên nhiều hệ quản lý cơ sở dữ liệu khác nhau. Có 2 ưu điểm mà
ODBC tận dụng được là :
• ODBC cung cấp một giao diện duy nhất để truy cập đến
nhiều cơ sở dữ liệu khác nhau, nhờ đó giảm bớt thời gian
nghiên cứu cơ sở dữ liệu mới cho bạn và cho nhà phát triển .
• ODBC cho phép phát triển ứng dụng Client độc lập với
Server cuối .
 ODBC là thành phần tối quan trọng cho phép bạn sử dụng Visual
Basic để phát triển các ứng dụng Client / Server .
 Cấu trúc của ODBC gồm 4 phần chính :
• Application (ứng dụng) : là giao diện để người dùng làm việc
với ứng dụng. Nó sử dụng API ( Application Programming
Interface) với ODBC để xây dựng kết nối đến cơ sở dữ liệu và
điều khiển dữ liệu thông qua các câu lệnh SQL.
• Driver Manager ( trình quản lý điều khiển ) : là trung gian
giữa ứng dụng và trình điều khiển đã được xác đònh để truy cập
từng loại cơ sở dữ liệu. Còn đối với dữ liệu , nó chỉ yêu cầu kết
nối đến DataSource , không cần thiết một liên kết đến trình
điều khiển.
• Driver (trình diều khiển ) :bổ sung cho ODBC API một hệ
thống quản lý cơ sở dữ liệu bằng cách xây dựng mối quan hệ
đến server, chòu sự điều khiển của các điều lệnh SQL sau đó
trả kết quả về, hay thông báo lỗi cho ứng dụng .
• DataSource ( nguồn dữ liệu ) : đây là sự kết nối giữa hệ
quản trò cơ sở dữ liệu với hệ điều hành từ xa hay mạng được

hay nhiều DLLs cũng như hỗ trợ các file INI , tùy thuộc vào
các trình bổ sung của các nhà cung cấp .
 Trước khi có thể truy cập đến một cơ sở dữ liệu thông qua ODBC ,
cần phải đònh nghóa DataSource để ODBC biết được cần kết nối đến
đâu . Có thể dùng một trong hai cách :
• Sử dụng ODBC Administrator để đònh nghóa Data
Source.
• Sử dụng hàm RegisterDatabase của Visual Basic để
đònh nghóa theo chương trình Data Source .
 Chẳng hạn làm việc với Microsoft SQL Server ta phải biết một số
thông tin sau
• Tên DataSource .
• Mô tả về DataSource .
• Tên Server trên mạng nơi có chứa cơ sở dữ liệu.
• Tên cơ sở dữ liệu.
Ví dụ : Để truy cập cơ sở dữ liệu Nwind , ta cần đònh nghóa Data Source
như sau
• Tên DataSource : NWIND.
• Mô tả về DataSource : Nothwind Database .
• Tên của Server : Query_1.
• Tên của cơ sở dữ liệu : Northwind.
 Sử dụng ODBC Administrator để đònh nghóa DataSource
• Các bước thực hiện:
 Kích hoạt ODBC Administrator thông qua
Control Panel
 Nhắp vào nút lệnh Add từ cửa sổ chính của
ODBC Administrator để thêm DataSource mới.
 ODBC sẽ cung cấp một danh sách các trình điều khiển
đã được cài đặt sẵn nhằm kết nối với các cơ sở dữ liệu khác
nhau:

2/ DAO (Database Access Object)
 Khái niệm
 DAO : Các đối tượng truy xuất dữ liệu, cho phép những ứng dụng khác
giao tiếp với hệ thống cơ sở dữ liệu như Microsoft Access và
Microsoft FoxPro.
Private Sub cmdRegDatabase_Click()
Dim Attribs As String
Attribs = “ Description = Northwind Database “ & Chr$ (13)
Attribs = Attribs & “ Server = QUE_1” & Chr$ (13)
Attribs = Attribs & “Database = Northwind”
DBEngine.RegisterDatabase “NWIND”,“SQL Server”,True,Attribs
End Sub.
 Là một thư viện đối tượng có khả năng mở rộng khá tốt cho phép
người triễn khai thao tác nhiều loại cơ sở dữ liệu.
 Cung cấp các khớp nối đến các chức năng của Jet Engine từ Visual
Basic và Microsoft Access.
 Dùng DAO có thể xử lý mỗi đối tượng cá biệt như Workspace,
Database,
TableDef, Field … bằng cách tạo một biến đối tượng và qui đònh biến
đó biểu thò một đối tượng nào muốn xử lý, giúp cho việc truy cập cơ sở
dữ liệu dễ dàng hơn.
 Mở một cơ sở dữ liệu đã có sẵn
 Khai báo các biến đối tượng cơ sở dữ liệu bằng lệnh Dim
 Dùng các biến đối tượng cơ sở dữ liệu để liên kết đến các cơ sở dữ
liệu.
 Ví dụ:
Dim db As Database, ws As Workspace
Set ws = DBEngine.Workspace(0)
Set db = ws.OpenDatabase ( " c :\ nwind . mdb ")
 Sử dụng Recordset

 Lưu dữ liệu từ vùng nhớ tạm vào cơ sở dữ liệu,chèn nội dung mới vào
record hiện thời hoặc thêm vào một record mới.
 Cấu trúc lệnh : recordset . Update (type, force )
 Xóa Records
 Xóa record hiện thời.
 Cấu trúc lệnh : recordset . Delete
3/ RDO (Remote Data Object )
So sánh RDO và DAO
 RDO: Remote Data Objects : cung cấp các phương pháp truy cập đến
cơ sở
dữ liệu. Nhìn chung RDO và DAO tương tự nhau, tuy nhiên dùng
RDO sẽ làm cho ứng dụng nhanh hơn, đơn giản vì nó dùng các hàm hệ
thống ở mức thấp hơn. Tuy nhiên có trở ngại là việc hiển thò kết quả
khi dùng phương pháp này không được hổ trợ như DAO.
 Có thể so sánh tương quan giữa RDO và DAO như sau :
RDO Objects DAO Objects
rdoEngine DBEngine
rdoEnviroment Workspace
rdoConnection Database
rdoTable TableDef
rdoResultset Recordset
rdoColumn Field
rdoQuery QuetyDef
rdoParameter Parameter
 Các kiểu hỗ trợ của rdoResultset, giống như của Recordset.
rdoResultset Types Recordset Types
Keyset Dynaset
Static Snapshot
Dyanmic N/A
Forward-only Forward - only

rdc.CursorDriver = rdUseClientBatch
rdc.Refresh
Sau đó để hiển thò kết quả này ta dùng Dbgrid và gán thuộc tính:
Dbgrid.Datasource = rdc
Nội dung sẽ được hiển thò ngay trên Dbgrid.
 Các thuộc tính :
RDC Property Data Control Property
BOFAction BOFAction
DataSourceName DatabaseName
EOFAction EOFAction
ResultsetType RecordsetType
SQL RecordSource
5/ ADO (ActiveX Data Object)
ADO là phương pháp truy cập dữ liệu thông qua OLE DB. Đến VB 6 thì
đây được xem như là phương pháp truy cập dữ liệu chủ yếu. Nó được
hổ trợ mạnh bằng các thành phần mới có ghi chú (OLEDB). Việc
hiển thò dữ liệu cũng như các tập hợp hết quả trả về đều tiện lợi.
 Các thành phần của ADO:
 ADO cung cấp các phương pháp :
• AddNew : thêm một hàng (record)
Connection
Errors Errors
Command
Parameters
Parameter
Recordset
Fields Field
• Delete : xóa hàng (record) mà con trỏ đang trỏ đến.
• Close : đóng sự kiện mở một một recordset.
• Move : di chuyển đến vò trí hiện thời của record

Set rado = New ADODB.Recordset
rado.Open "Select * from hoso", conn, adOpenKeyset,
adLockPessimistic,
adCmdText
Set ado.Recordset = rado
6/ ODBC API Function
Đây là phương pháp dùng trực tiếp các hàm ODBC cấp thấp để truy cập
dữ liệu
♦ Declare Function SQLAllocEnv Lib "odbc32.dll"
(env As Long) As Integer
♦ Declare Function SQLAllocConnect Lib "odbc32.dll"
(ByVal env As Long, hdbc As Long) As Integer
♦ Declare Function SQLConnect Lib "odbc32.dll"
(ByVal hdbc As Long, ByVal Server As String,
ByVal serverlen As Integer, ByVal uid As String,
ByVal uidlen As Integer, ByVal pwd As String,
ByVal pwdlen As Integer) As Integer
♦ Declare Function SQLFreeConnect Lib "odbc32.dll"
(ByVal hdbc As Long) As Integer
♦ Declare Function SQLDisconnect Lib "odbc32.dll"
(ByVal hdbc As Long) As Integer
♦ Declare Function SQLAllocStmt Lib "odbc32.dll"
(ByVal hdbc As Long, hstmt As Long) As Integer
♦ Declare Function SQLFreeStmt Lib "odbc32.dll"
(ByVal hstmt As Long, ByVal EndOption As Integer)
As Integer
♦ Declare Function SQLExecDirect Lib "odbc32.dll"
(ByVal hstmt As Long, ByVal sqlString As String,
ByVal sqlstrlen As Long) As Integer
♦ Declare Function SQLSetConnectOption Lib

danh sách các chọn lựa thả sẵn xuống.
• Style = 1 (simple combo box), hiển thò dưới dạng một text
box và một danh sách nhưng không thả xuống.
• Các giá trò này có được bởi sự kiện Change.
• Style = 2 (drop down list ), một danh sách thả sẳn xuống.
 Các mục trong hộp sẽ được sắp xếp theo thứ tự ASCII khi chọn tính
chất

Trích đoạn Cơ sở dữ liệu nhiều người dùng (Multiuser Database 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