1 Mục lục 1 2 Làm quen với visual basic 0 9


Tạo kết nốI với trình thiết kế uerconnecttion



tải về 1.69 Mb.
trang37/39
Chuyển đổi dữ liệu09.10.2016
Kích1.69 Mb.
#32631
1   ...   31   32   33   34   35   36   37   38   39

15.4 Tạo kết nốI với trình thiết kế uerconnecttion


Trình thiết kế kết nối người sử dụng (Uerconnection designer) tạo sự dễ dàng ho ngườI sử dụng Visual Basic để kết nối với cơ sở dữ liệu client/server dùng RDO. Nó phát sinh đốI tượng rdoconnection mà không phảI lập trình nhiều

Tương tự biểu mẫu trong đề án VB, ta thêm trình thiết kế Uer_connecttion vào đề án và dùng nó như dùng biểu mẫu. Khi ta biên dịnh tạp tin thi hành EXE trong VB, trình thiết kế userconnection cũng được biên dịch như biểu mẫu.



Lưu ý với ADO trong VB 6, ta có một kiểu thiết kế mới để tậo kết nối vớI cơ sở dữ liệu. thiết kế này gọI là dataenviroment, sẽ được trình bày trong chương 27 “ĐốI tượng dữ liệu ActiveX”. Nó vượt xa khảng năng của thiết kế UserConnection trong một số sách. thiết kế UserConnction là một dạng mô-đun lớp.

Để dùng trình thiết kế UserConnection,ta làm như sau:



    1. Thêm một trình thiết kế UserConnection mới vào đề án.

    2. dùng giao diện đồ hoạ của UserConnection, thể hiện nguồn dũ liệu ODBC mà ta muốn nối đến, và cách thức kết nối.

    3. trong chương trình, tạo một instance của đối tượng rdoconnection từ thiết kế UserConnection.
Ví dụ mẫu –dùng trình thiết kế UserConnection để két nối với cơ sở dữ liệu ODBC

  1. Trong đề án VB, chọn menu Project, more ActiveX Designers. Chọn Microsoft UserConnection.

  2. Một trình thiết kế UserConnection được thêm vào đề án, và hộp thoại UserConnection properties xuất hiện:





  1. Trong tab Connection, chọn nguồn dữ liệu ODBC hay xây dựng chuỗi kết nối không có DSN.

  2. Chon tab Authentication, nhập tên và mật khẩu người sử dụng. Chọn vào hộp đánh dấu “ Save Connection Information for Design=time”. Như thế, ta có thể truy cập kết nối bất kỳ lúc nào ta muốn.

Lưu ý trong trình thết kế UserConnection, cũng tương tự như với ODBC DSN, ta có tuỳ chọn là bỏ qua các thông tin gắn liền với việc thẩm định. Bỏ qua công việc này nghĩa là tên người login và mật khâu sẽ không được biên dịch vào ứng dụng và nó không được lưu cùng với trình thiết kế UserConnection. Mặc dù vậy, nhớ rằng thiết kế UserConnection không chứa dữ liệu cho thẩm định, trong khi bạn không cung cấp các thông tin đó trong chương trình khi thực thi, do đó, trình điều khiển ODBC sẽ hiển thị hộp thoại mỗi lần ứng dụngkết nối đén cơ sở dữ liệu.(Tắt hộp thoại login này trong thiét kế UserConnection bằng cách dùng hộp kết hơp Prompt Behavior trong tab Authentication của hộp thoại Properties của thiết kế).
Trong ứng dụng, ta muốn giải quyết vấn đề thẩm định người sử dụng theo một cách khác - trả về tên người sử dụng và mật khẩu tại thời điểm người sử dụng khởi động ứng dụng, hay(đối với các ứng dụng hỗ trợ quyết định) tạo một người sử dụng chỉ đọc đặc biệt để duyệt dữ liệu.

  1. Nhấn OK.

  2. hộp thoại properties đóng. Trên màn hình xuất hiện tên trìh thiết kế UserConnection.




Hình Cửa sổ thiết kế UserConnection sau khi ta đặt thuộc tính khởi động nó.

7.

Trong cửa sổ properties cảu VB, gõ vào một tên cho trình thiết kế UserConnection. Ta dùng tên này để tham chiếu đến trình thiết kế UserConnection tong chương trình. Ví dụ ta đặt tên trình thiết kế UserConnection két nối đến cơ sở dữ liệu company là conCompany.


15.5 Truy cập truy vấn với trìng thiết kế UserConnection


Ta có thể tạo câu truy vấn trong trình thiết kế UserConnection theo một tổng ba cách:

Gọi một thủ tục chứa sẵn hay view trên server cơ sở dữ liệu để trả vềcác bản ghi.

Phát một câu lệnh cho server cơ sở dữ liệu dưới dạng một câu truy vấn SQL động.

Xây dựng một câu truy vấn trong trìng thiết kế UserConnection dùng Microsoft query. Kỹ thuật này tương tự kỹ thuật truy vấn động, nhưng nó mạng tính đồ hoạ hơn, vì vậy đê xây dựng lúc thiết kế.


15.5.1Gọi thủ tục chứa sẵn trong một trình thiết kế UserConnection

15.5.1.1Thêm thủ tục vào tình thiết kế UserConnection


Để gọi thủ tục chứa sẵn tù một đối tượng được tạo ra từ trình thiết kế UserConnection, vào lúc thiết kế, ta pahỉ thêm thủ tục chứa sẵn vào trìn thiết kế UserConnection. Sau đó, ta có thể truy cập thủ tục như một phương thức của đối tượng kết nối.

  1. Trên thanh công cụ của trình thiết kế UserConnection, nhấn nút Insert Query

  2. Hộp thoại Query Properties xuất hiện. trong hộp query name, nhập tên truy vấn; có thể trùng với tên thủ tục chứa sẵn.

  3. Hộp kết hợp Based on stored Procedure cung cấp một danh sách các thủ tục chứa sẵn trên cơ sở dữ liệu company. Ta chọn thủ tục lastNameLookup.

  4. Chọn tab Prameters. thủ tục LastNameLoopup lấy tham số name, là tên người sử dụng đang tim kiếm.

  5. nhấn OK. thủ tục LastnameLoopup được thêm vào trìh thiết kế UserConnection

/****************************

anh

***********************************/


15.5.1.2Gọi thủ tục


Tạo một instence của UserConnection trong chương trình, sau đó, thi hành thủ tục chúa sẵn như là một phương thức của đối tượng rdoConnection.

  1. Thêm một hộp danh sách chuẩn, một nút lệnh chuân, va một hộp văn bản chuẩn vào biểu mẫu trong đề án chứa UserConnection. Dùng hộp văn bản để nhập tham ssố cho truy vấn. Chương trinh thi hành câu truy ấn được kích hoạt bằng cách nhấn vào nut lệnh.

  2. trong phần Declatians khai báo một biến chứa rdoConnection và rdoresultset

Private Conn As concompany

Orivate rs As rdoresultSet



  1. Trong suwj kieenj click của nut lệnh, lập trìh để tạo instance của UserConnection, nối với cơ sở dữ liệu và thi hành thủ tục chứa sẵn.

Private Sub command1_click()

Set conn = New conCompany

conn.EstablishConnection

conn.lastnameloopup Text.tex

Set rs = con.LastQueryResults

list1.Clear

Do util rs.eof

list1.additem rs!lastName&" "&rs!fistName

rs.MoveNext

Loop


conn.Close

End Sub


Lưu ý rằngkhi nhấn ký tự dấn chấm sau đối tượng Conn, thủ tục chứa sẵn được tham chiếu bơi UserConnection xuất hiện trong danh sách các thành phần của đối tượng.

  1. thi hành ứng dụng. Nhập tên Smith vào hộp văn bản, rồi nhấn nút lệnh. Danh sách liệt kê những tên chưa từ “Smith” như phần đầu.

15.5.2Dùng Microsotf Query để xây dựng chuỗi SQL trong trình thiết kế UserConnection.


Ta vừa thấy tham chiếu đến một câu truy vấn chứa trên server dùngtrnhf thiết kế UserConnection rất rễ. Nếu câu truy vấn không có sẵn trên server, ta phải phát sinh trên client rồi sau đó sễ thi hành trên server, kết quả tra về Client.

Ta có thể nhập chuỗi SQL một cách thủ công hoặc dùng công cụ đồ hoạ trên Client. Microsoft Query là một công cụ gần gũi nhất ới trình thiết kế UserConnection.

/**************************

****************************/


15.5.2.1Thêm truy vấn vào trình thiết kế UserConnection dùng Microsoft Query


  1. Nhấn nút Insert Query trên thanh công cụ của trình thiết kế UserConnection.

  2. hộp thoại Properties của truy vấn xuất hiện.

  3. Nhập tên của truy vấn trong hộp văn bản Query Name.

  4. chon khả năng tuỳ chọn Based on User-Defined SQL,rồi nhấn Build.

  5. Microsoft Query phóng lên nguồn dữ liệu ta muốn kết nối, rồi nhấn OK.

/****************

****************/

Ta phải chỉ ra nguòn dư liệu trở lại khi ta thực hiện trong phần trước. ta co một DSN của người dùng cho cơ sở dữ liệu company. Vì một lý do nào đó, nó muốn dùng DSN dựa trên tập tin thay vì Uer-DSN hay System-DSN. May mắn là,MS query cho ta khả năng tạo DSN tong chương trình, vì thế, đây không là vấn đề lớn. Tuy nhiên, ta vẫn muốn thiết lập mọi thứchứa trong một nơi.

Một vấn đề khác với MS query la nos cai đặt để tìm kiếm các tập tin DSN trong thư mục trong \Program Files \Common Files\Microsoft Shared\Vba, trong khi ODBC tạo DSN dựa trên tập tin \Program Files \Common Files \ODBC\Data Sources. Trong hộp thoại choose Data Source của Ms Query, ta giải quyết vấn đề nàt bằng cách nhấn nút Option để chi ra thư mục tìm kiếm DSN. Để lam điêu này, nhấn Browse trong hộp thoại Data Source Options, chọn đúng thư mục, nhấn OK rồi nhấn Add. Khi ấy, thư mục mới sẽ được nhận ra bởi MS Query về sau.



  1. trình tự động Query Winzard thi hành, hiện thị dữ liệu có sẵn trong nguồn dữ liệu. Hộp đầu tiên của Winzard hiển thị.

  2. Nhấn đúp chuột lên truy vấn hay view mà ta định dùng (ví dụ,chon qryCustomer). Truy vấn hay View được mở rộng để hiển thị danh sách các trường chứa trong truy vấn.

  3. Nhấn đúp lên mỗi trường ta muốn lấy về, ví dụ chon FirstNameLastName.

  4. Nhấn Next.

  5. Bước Lọc dữ liệu (Filter Data) xuất hiện. Ở bước này, ta xácđịnh cách thức lọc bản ghi. Ví dụ, để trả về những khách hàng tên Jones, chon trường Lastname từ danh sách các trường. Sau đó, trong hộp kết hợp bên phải danh sách cột,chọn Equal. Trong hộp kết hợ kế tiép, chọn Jones.

  6. Nhấn Next. Bước kế tiếp cho phép ta sắp xếp dữ liệu. Trong hộpkết hợp Sort, chon FirstName.

  7. Nhấn Next. Khi hoàn tất, ta có thể tuỳ chọn để xem dữ liệu trả về hay trở lại thiết kế UserConnection. Chọn View Data or Edit Query trong MS Query, rồi nhấn Finish.

  8. Dữ liệu trả về hiển thị trong MS Query.

Ví dụ mẫu Tham khảo ví ụ mẫu trong đề án Query.vbp, trong thư mục \sample\PhanIV\23-rdo\Query.

Khi hoàn tất xem dữ liệu, chọn menu File, Exit to Connection Designer.

Microsoft Query thoát ra và trả truy vấn ta xây dựng về hộp thoại Properties của truy vấn của trình thiết kế UserConnection dưới dạng chưỡi SQL.

Nhấn OK để đóng hộp thoại Query Properties. Truy vấn được chứa trong trình thiết kế UserConnection.

Có vài ưu điểm khi chứa truy vấn trong trình thiết kế UserConnection:


  • Dùng lại thiết kế trong nhiều đề án với nhièu người lập trình mà không cần thay đổi về phía server.

  • Kiểm soát được độ phức tạp của ứng dụng vì không có nhiều dòng lệnh để bảo trì.

Tuy nhiên, nhược điểm của kỹ thuật này là truy vấn trên Client, chung sẽ không truy cập được từ mọi Client khác. Như thế,từng Client có cách truy nhập khác nhau, dễ dấn tớitìh trạng không nhất quán, nhất là khi thiết kế cơ sở dữ liệu phát triển theo thời gian. Nếu tạo truy vấn trên Client, ta nên nạp nó vào Server.



tải về 1.69 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   31   32   33   34   35   36   37   38   39




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương