Chương 2: CÁC MÔ HÌNH TRUY CẬP ĐỮ LIỆU

Một phần của tài liệu Microsoft Access 2000 Lập trình ứng dụng cơ sở dữ liệu. Tập 1 (Trang 191 - 195)

Sub deleteProcedure(procName as String) Dim cnn1 As New Connection

Dim cat1 As New adox.Catalog

‘ MG catalog

Set cnn1 = CurrentProject. Connection Set catt.ActiveConnection = cnn1

‘ Xéa Procure da tén tai.

catt. Proceduyes.Delete(procName).

End Sub

Thủ tục xây dựng một query parameter va liu né nhu mét tha tục lưu trữ. Query của nó thúc đẩy giá trị thấp nhất xuất hiện trong cột đầu tiên. Chú ý rằng bạn có thể thiết lập các thuộc tính

CommandText và CommandType. cho query. Cau lénh SQL bao gồm một khai báo cho tham số. Sau khi tạo đối tượng Command cho một thủ tục lưu trữ, bạn dùng. phương: pháp. Append. của tập hợp Procedures để vẫn giữ đối tượng Comunand như một thủ tục lưu trữ.

Néu ban chay SaveParameterQuery nhiều lần, từ lân thứ hai để lưu spLotoestRou dễ phát sinh lỗi run-time. SœueParameterQuery bẫy lỗi này và xóa bảng sao chép cũ tiếu 'có. Thủ tục dùng để xóa thủ tục lưu trữ nhận một đối số cho tên của thủ tục để xóa. Thủ tục ParameterQCommand, trinh bày” trước đây, thực hiện công việc tương tự như thủ tục lưu trữ, spLowestRow. Vi ADO chay cdc tha tục lưu trữ như các đối tượng biên dịch, chúng chạy nhanh hơn khi bạn xây dựng một đối tượng Conmmnand tại từng, thời điểm bạn,

muốn thực thi một câu lénh SQL. “ a :

Tạo Và Chạy Cúc Thủ Tục Lưu Trữ

Cặp thủ tục sau đây chuẩn bị và chạy một thủ tục lưu trữ.

Thủ tục thứ nhất tạo một thủ tục lưu trữ để tìm-số mở rộng cho số

183°

nhân viên trong co sé dif ligu Northwind; thi tục thứ hai gọi thủ tục lưu trữ này.

Sub procLookupNumber( )

Dim cnni As New ADODB.Connection Dim emd1 As New ADODB.Comand Dim prm1 As ADODB.Parameter Dim cati As New ADOX.Catalog

‘M6 két néi :

cnni.Open = “Provider=Microfoft.Jet.OLEDB.4.0 ; “ &_

“Data Source=C:\Program Files\Microsoft Office&” _

‘\Office\Samples\Northwind.mdb ;”

“ Tạo lệnh có tham số.

Set cmd1.ActiveConnection = cnn†

Cmd1.CommandText ="SELECT FirstName, LastName, Extension “&

“FROM Employees WHERE LastName = [Lname]"

Set prmi

=cmd1.CreatParameter(“[Lname]",adWChar,adParamlnput,20) cmd1.Parameters.Append prm1

' Mở catalog

Set cati.ActiveConnection = cnn1

‘Tao thd tuc mdi dya trén query parameter.

cat1.Procedures.Append “spEmployeeExtension”, cmd End Sub

Sub RunLookUpProc( ) Dim cnn1 As New Connection Dim cat1 As New Catalog Dim rsti As New Recordset Dim cmd1 As New Command Dim prmi As Parameter Dim typedName As String

Chuang 2: CAC MO HINH TRUY CAP DU LIEU

' Tạo và ấn định một kết nối cho catalog.

cnn1.Open “Provider=Microfoft.Jet.OLEDB.4.0 BL

“DataSource=C:\ProgramFiles\Microsoft Office “& _

“\Office\Samples\Northwind.mdb ;”

Set cat1.ActiveConnection = enn†

' Thiết lập các tham chiếu Command và đối tượng tham số.

Set cmd1 = cat† .procedures(“epEmployeeExtension”).Command Set prm1

=cmd†1 'CreatParameter(“ILname]",adWChar,adParamlnput,20) cmd1.Parameters.Append prm†

“Thu thập giá trị tham số từ người sử dụng và gán cho nó.

TypeedName = InputBox(“Last name for extension?” , _

“Programming Micerosoft Access 2000”

prm1.Value = typedName

‘Thuc thi query parameter va trình bày tương hợp đầu tiên.

cmd1.Execute rst1.Open cmởd†

MsgBox “The extension for “& rst1.Fields(0) & _

“ *& rst1("LastName”) & “is” & rst1.Fields(2)

vbinformation, “Programming Microsoft Access 2000”

End Sub

Tha tue procLookupNumber tao mét query parameter ổn định (persistent parameter query) như một thủ tục lưu trữ. Query này tìm số điện thoại của một nhân viên dựa vào tên họ của nhân viên đó.

Thủ tục định nghĩa đối tượng Command va tham số liên kết của nó, [Lname]. Hằng sé adWChar định rõ tham số là một chuỗi văn bản có chiều dài cố định. Hằng số adParamInput xac định rõ tham số này chỉ để nhập vào, và con số đuôi (trailing number) chỉ rõ tham số có thể chứa đến 20 ký tự. Sau khi định nghĩa Command và tham số liên kết của nó xong, thủ tục thiết lập kết nối catalog đến cơ sở dữ liệu Northwind và nối thêm đối tượng Command vào tập hợp Procedures véi tén spEmployeeExtension.

Néu ban chay procLookupNumber nhiều lần sẽ bị lỗi khi cố gắng để ghi spEmployeeExtension đề lên chính nó. Thêm vào bẫy 185

lỗi để phát hiện tình huống này. Sau đó bạn tạo một thường trình thủ tục xóa. Bạn cần chỉnh sửa thủ tục đã sử dụng trong ví dụ trước vì nó xóa các thủ tục trong để án hiện hành và các ví dụ này xóa các thủ tục trong cơ sở dữ liệu Northwind.

Thủ tục RunLookUpProc chạy thủ tục lưu trữ tạo bởi thủ tục procLoohupNumber. Thủ tục này có bốn vấn đề tóm tắt như sau:

186

Nó tạo một kết nối đến cơ sở dữ liệu bằng thủ tục lưu trữ.

Nó chỉ rõ các biến đối tượng để chỉ thủ tục lưu trữ và tham số của nó. Đoạn chương trình sử dụng déi tugng Command dé tham chiếu đến thủ tục lưu trữ.

Nó hiển thị một hộp thoại để người sử dụng phải chỉ định tên họ vào phần dành cho nhân viên. Đoạn chương trình ấn định giá trị trả về từ hộp thoại đến tham số của lệnh.

Nó thực hiện lệnh và mở một recordset dựa vào tập hợp trả về của lệnh. Nó trình bày hàng thứ nhất từ tập hợp trả về vàc trong một hộp thoại. Đoạn chương trình dùng cả hai quy ước đặt tên cho việc chọn một thành phần từ tập hop Fields trong m6t recordset. Ban có thể sử dụng hoặc vị trí theo thứ tự hoặc thuộc tinh Name cua nó.

mk. pub@cinet.vnnews.com www.minhkhai.com.vn

Một phần của tài liệu Microsoft Access 2000 Lập trình ứng dụng cơ sở dữ liệu. Tập 1 (Trang 191 - 195)

Tải bản đầy đủ (PDF)

(383 trang)