1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài tập thực hành ADO

6 890 3
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài Thực Hành ADO
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Bài Thực Hành
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 6
Dung lượng 76 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài tập thực hành ADO

Trang 1

Bài thực hành 1

Kết nối nguồn dữ liệu với đối tượng Connection

1 Tổng quan

Đối tượng Connection được sử dụng để thực hiện một kết nối đến nguồn cơ

sở dữ liệu Đây là đối tượng nằm ở mức cao nhất trong mô hình đối tượng ADO Các thao tác khác trên dữ liệu thông qua các đối tượng như Recordset hay Command đều phải dựa trên một kết nối đã được mở

Trong các ứng dụng cơ sở dữ liệu, việc mở một kết nối cơ sở dữ liệu thường được tiến hành đầu tiên, trước tất cả các thao tác khác Trong bài này,

chúng ta sẽ tìm hiểu về đối tượng Connection và một số thao tác cơ bản trên đối

tượng này

2 Nội dung thực hành

Tạo mới một Project và thiết kế menu cho Form này như sau:

`

2.1 Bổ sung thư viện ADO cho Project

Để có thể sử dụng được các đối tượng ADO, bạn phải bổ sung thư viện này vào Project Tiến hành các bước sau đây:

 Chọn menu Project  References…

Trong hộp thoại xuất hiện, đánh dấu chọn mục Microsoft ActiveX Data Objects 2.0 Library để bổ sung thư viện này.

Lưu ý: Ở các bài thực hành sau, việc bổ sung thư viện ADO là việc bạn phải thực

hiện cho mỗi một project

2.2 Mở kết nối cơ sở dữ liệu

Việc kết nối cơ sở dữ liệu được thực hiện thông qua đối tượng

ADODB.Connection Thông thường, quá trình này bao gồm các bước sau:

 Khai báo biến kết nối Trong hầu hết các ứng dụng, biến kết nối là biến được sử dung xuyên suốt trong chương trình Do đó, biến này thường

Trang 2

được khai báo dưới dạng Public hoặc Global trong module chương trình

Biến kết nối được khai báo theo cú pháp sau:

Public|Global|Dim <tên biến> As ADODB.Connection

 Tạo mới biến kết nối thông qua câu lệnh có cú pháp như sau:

Set <tên biến> = New ADODB.Connection

Qui định chuỗi tham số kết nối thông qua thuộc tính ConnectionString

của biến kết nối Chuỗi tham số kết nối cung cấp các thông số cần thiết

để có thể thiết lập được kết nối đến nguồn dữ liệu Một chuỗi tham số kết nối được viết dưới dạng

“tham_số_1=giá_trị_1;tham_số_2=giá_trị_2;…”

 Qui định một số thuộc tính khác nếu cần thiết

Mở kết nối bằng cách gọi phương thức Open của biến kết nối

Đoạn mã dưới đây khai báo một biến kết nối và thực hiện việc mở kết nối

đến cơ sở dữ liệu có đường dẫn là D:\QLBANHANG.MDB khi sự kiện Click xảy

ra trên menu Open Connection Trong đoạn mã này, biến kết nối (adoCn) được

khai báo ngay trong Form và chỉ có phạm vi sử dụng trong Form này Cần lưu ý rằng, trong hầu hết các chương trình, biến kết nối cần được khai báo để có thể sử dụng thuận lợi trong toàn project

Dim adoCn As ADODB.Connection

Private Sub mnuOpenConnection_Click()

On Error Goto ErrHandle

Set adoCn = New ADODB.Connection

adoCn.ConnectionString=“Provider=Microsoft.Jet.OLEDB.4.0;” & _

“Data Source = D:\qlbanhang.mdb”

adoCn.Open

MsgBox “Kết nối thành công”

Exit Sub

ErrHandle:

MsgBox Err.Description

End Sub

Chuỗi tham số kết nối của đối tượng Connection trong đoạn mã lệnh trên cung cấp giá trị cho hai tham số:

Provider: Tham số này chỉ ra trình cung cấp sử dụng để thực hiện kết

nối đến cơ sở dữ liệu Trong trường hợp này là trình cung cấp Jet sử dụng cho cơ sở dữ liệu Access Các loại cơ sở dữ liệu khác nhau sẽ có các trình cung cấp khác nhau

Trang 3

Data Source: Tham số này xác định nguồn dữ liệu sẽ kết nối đến.

Trong trường hợp này là tên và đường dẫn đến cơ sở dữ liệu

Ngoài hai tham số trên, trong nhiều trường hợp bạn phải cung cấp thêm một

số tham số khác cho chuỗi tham số kết nối như User ID, Password, Initial Catalog,… (Xem lại bài thực hành 1 để biết được cách có được chuỗi tham số kết

nối)

2.3 Đóng kết nối

Khi một biến kết nối không còn được sử dụng hoặc cần phải mở lại kết nối,

bạn phải đóng kết nối bằng cách gọi phương thức Open Đoạn mã dưới đây thực hiện việc đóng kết nối khi menu Close Connection được nhấp chọn.

Private Sub mnuCloseConnection_Click()

If Not adoCn Is Nothing Then

If adoCn.State = adStateOpen Then

adoCn.Close

End If

Set adoCn = Nothing

End If

End Sub

Trong đoạn chương trình trên, ta dựa vào thuộc tính State của đối tượng adoCn để

xác định xem kết nối đã được mở hay chưa Thuộc tính này cho biết trạng thải hiện tại của một biến kết nối và có thể nhận các giá trị sau:

Hằng giá trị Giá trị Ý nghĩa

adStateClosed 0 Kết nối đang đóng

adStateConnecting 2 Đang thực hiện kết nối

2.4 Sử dụng điều khiển CommonDialog để mở kết nối cơ sở dữ liệu

Trong phần 2.2, bạn đã biết được cách thực hiện việc mở một kết nối đến

cơ sở dữ liệu Tuy nhiên, có thể thấy việc sử dụng đường dẫn đến cơ sở dữ liệu một cách cố định trong mã lệnh sẽ không đảm bảo được tính linh hoạt cho chương trình

Trong phần này, bạn sẽ sử dụng điều khiển CommonDialog cho phép chọn

đường dẫn đến cơ sở dữ liệu khi mở kết nối cơ sở dữ liệu

Bổ sung thêm vào Form điều khiển CommonDialog (Nếu trên ToolBox chưa có điều khiển này thì chọn menu Project  Components và đánh dấu

Trang 4

chọn mục Microsoft Common Dialog Control 6.0 để bổ sung thêm điều

khiển này vào ToolBox)

Viết lại đoạn mã lệnh cho thủ tục mnuOpenConnection_Click như

sau:

Private Sub mnuOpenConnection_Click()

On Error GoTo ErrHandle

Set adoCn = New ADODB.Connection

CommonDialog1.Filter = "Microsoft Access|*.mdb"

CommonDialog1.FileName = ""

CommonDialog1.ShowOpen

adoCn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" & _

"Data Source = " + CommonDialog1.FileName adoCn.Open

MsgBox "Da ket noi co so du lieu"

Exit Sub

ErrHandle:

MsgBox Err.Description

End Sub

Chạy kiểm thử chương trình, bạn sẽ thấy được mỗi khi ta nhấp chọn menu Open Connection, hộp thoại Open sẽ xuất hiện để cho phép bạn chọn cơ sở dữ liệu cần mở

3 Yêu cầu bổ sung

Qua nội dung thực hành ở trên, bạn có thể thấy rằng việc mở kết nối cơ sở

dữ liệu là thao tác được tiến hành trước các thao tác khác trên cơ sở dữ liệu Ngoài

ra, một biến kết nối không phải chỉ sử dụng trong một module nào đó mà được sử dụng trong phạm vi toàn chương trình Do vậy, biến kết nối cần phải được khai báo dưới dạng Public (hoặc Global) trong module chương trình

Phần này yêu cầu bạn thiết kế một hệ thống menu hoàn chỉnh cho một chương trình ứng dụng và lập trình xử lý việc mở và đóng kết nối cơ sở dữ liệu cho chương trình Ngoài ra, bạn sẽ phải thiết lập trạng thái của menu tương ứng với trạng thái kết nối/hoặc không kết nối cơ sở dữ liệu của biến kết nối

3.1 Thiết kế giao diện chương trình

 Tạo mới một Project và bổ sung vào project này:

Một MDI Form: đặt tên là MainForm Đây sẽ là form chính của

chương trình

Một Module và đặt tên là mdlMain.

Thiết lập thuộc tính Startup Object cho Project là MainForm.

 Thiết kế hệ thống menu cho form chính theo như mô tả ở bảng sau

Trang 5

Menu Tên menu

Chi trả lương tháng mnuTraluong

3.2 Lập trình

1 Viết thủ tục sau đây cho MainForm Thủ tục có chức năng thiết lập trạng thái cho các menu trên Form tùy thuộc vào việc kết nối cơ sở dữ liệu đã được mở

hay chưa Tham số của thủ tục có giá trị là True nếu kết nối đã mở và nhận giá trị là False nếu ngược lại.

Public Sub ThietlapTrangthaiMenu(Byval daketnoi As Boolean)

mnuMoCSDL.Enabled = Not daketnoi

mnuDongCSDL.Enabled = daketnoi

mnuDulieu.Visible = daketnoi

mnuTacnghiep.Visible = daketnoi

mnuInan.Visible = daketnoi

End Sub

2 Tại thủ tục đáp ứng sự kiện Form_Load của MainForm, gọi thủ tục trên với tham số là False

Private Sub MDIForm_Load()

‘Trạng thái menu khi chưa mở kết nối CSDL

ThietlapTrangthaiMenu False

End Sub

3 Lập trình xử lý sự kiện Click trên menu Mở CSDL (mnuMoCSDL) và Đóng CSDL (mnuDongCSDL) để thực hiện việc mở và đóng CSDL Lưu ý:

Trang 6

 Sau khi mở hoặc đóng CSDL phải thiết lập lại trạng thái của menu

cho phù hợp (bằng cách gọi thủ tục ThietlapTrangthaiMenu)

 Biến kết nối phải được khai báo dưới dạng Public trong module

mdlMain.

3.3 Kết nối với các nguồn dữ liệu khác

Hãy thiết kế và viết lại chương trình trong trường hợp CSDL bạn sử dụng không phải được tổ chức bởi Microsoft Access mà bởi các hệ quản trị CSDL khác như SQL Server, Oracle,…



Ngày đăng: 01/09/2012, 09:44

TỪ KHÓA LIÊN QUAN

w