Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
724,21 KB
Nội dung
XâydựngvàsửdụngthủtụclưutrữSQL/PLvớiVisualStudio2005
Hỏi: Cách tạo thủtụclưutrữsửdụng trình thiết kế SQL/PL Stored Procedure và
áp dụng chúng trong một ứng dụng WinForm đơn giản làm thế nào?
Đáp:
Để thực hiện được các bước sau trong bài này, trước hết bạn phải tạo một cơ sở dữ
liệu SAMPLE (mẫu) bằng cách nhập lệnh db2sampl từ cửa sổ lệnh Command
Promp của hệ điều hành. Đồng thời bạn cũng phải thêm một kết nối tới cơ sở dữ liệu này trong
bảng ảo Server Explorer.
Xây dựngthủtụcSQL/PLsửdụng designer
Để xâydựngthủtụclưutrữ SQL/PL, chọn ra các nhân viên của một phòng ban nào đó dựa trên
công cụ designer DB2 9 SQL/PL Stored Procedure trong VisualStudio 2005, thực hiện theo các
bước sau:
1, Mở rộng nút cơ sở dữ liệu SAMPLE trong Server Explorer, chọn thư mục Procedures, sau đó
là Add New SQL/PL Procedure with Designer.
2, Hộp thoại Procedure designer mở. Gọi thủtục SELECTSTAFFBYDEPT trong khu vực
Procedure identification của designer này. Bạn có thể lựa chọn mô tả tên schema bên dưới hoặc
không. Thường trình này sẽ được tạo với một comment mô tả nó.
Bạn có thể sửdụng các thiết lập của mô hình Debug (trình gỡ rối), hoặc đặt chế độ Allow trong
ô “Debug mode” nếu muốn sửdụng các chức năng xử lý lỗi tích hợp của IDE cho thường trình
này.
3, Trong cửa sổ Procedure Parameters, thêm một tham số vào thường trình bằng cách click lên
nút Add parameter ().
4, Bấm chọn trường Name và thay đổi tên cho tham số này thành DEPTNUME.
5, Kích vào nút Import Parameters () để biết kiểu dữ liệu của tham số dùng để truy vấn thông
tin nhân viên trong bảng STAFF, dựa theo cột DEPT.
6, Cửa sổ Import mở. Bạn có thể dùng tên Schema để lọc các bảng trong cửa sổ, tìm bảng
STAFF, chọn cột DEPT, chuyển nó tới danh sách chọn bằng cách kích vào Add column to
selected list () và ấn OK.
Các add-in IBM bổ sung cho VisualStudio2005 cung cấp cho bạn một số thành phần độc nhất,
nâng cao khả năng phát triển ứng dụng nhanh chóng (RAD) trong VisualStudio2005 IDE. Khả
năng biết được kiểu dữ liệu tham số là một trong số đó. Thực hiện chức năng này, bạn sẽ không
bị lỗi sai trong chọn kiểu dữ liệu cho tham số đầu vào trong thủtụclưutrữ đang xâydựngvà
giảm thiểu khả nă
ng lỗi mã hoá.
Có một số thành phần DB2 9 RAD độc nhất khác cũng được tích hợp trong VisualStudio 2005,
như chức năng xác định cột trong tạo bảng của IntelliSense, móc nối với DB2 schema bên dưới.
Hay như IBM Output Message Pane, mô tả chi tiết hoạt động server dữ liệu DB2 và các thông
báo lỗi ….
Procedure Parameters (các tham số thủ tục) của designer này có dạng như sau:
7, Xoá tham số DEPTNUMB bằng cách bấm chọn nó và kích nút Delete Parameter (). Đổi tên
tham số DEPT thành DEPTNUMB.
Rõ ràng, bạn có thể chọn mô tả hoặc phát hiện tham số chính xác ngay lập tức. Sở dĩ chúng tôi
muốn đưa ra các bước này là để minh hoạ cho bạn khả năng đa thành phần của designer.
8, Thu gọn các phần Procedure Identification và Procedure Parameters bằng cách kích chuột
lên biểu tượng (). Lúc này, designer có dạng:
9, Thay thế
select ROUTINENAME, ROUTINESCHEMA from SYSIBM.SYSROUTINES;
bằng
select * from STAFF where dept = deptnumb;
Chú ý: Khi nhập lệnh mới này, bạn có thể tác động để IntelliSense móc nối với schema của
server dữ liệu bằng cách đưa ra tên của schema trước tên bảng STAFF, và đưa tên schema, các
tên bảng trước cột DEPT như hình bên dưới:
10, Xâydựngthủtụclưutrữ này bằng cách ấn Ctrl+S, sau đó là Yes.
Còn nhiều thành phần khác nữa trong designer SQL/PL Stored Procedure, nhưng vượt ra ngoài
phạm vi của bài này. Bạn nên xâydựng một số thường trình khác nếu muốn tìm hiểu sâu hơn khả
năng của công cụ tuyệt vờivàđộc nhất này.
11, Refresh lại bảng ảo của thư mục Procedures trong Server Explorer bằng cách kích chuột lên
folder này và chọn Refresh nếu thấy cần.
12, Kiểm tra lại thủtụclưutrữvới giá trị 20 cho tham số DEPTNUMB như sau:
a. Kích phải chuột lên thủtục SELECTSTAFFBYDEPT, chọn Run. Cửa sổ Run Options
mở ra.
b. Bỏ chọn trong ô Null.
c. Kích chọn Value và nhập 20 vào ô.
d. Ấn Run.
Các bước này được minh hoạ như bên dưới:
Chú ý rằng, khi chạy thủtụcsửdụng add-in IBM trong VisualStudio 2005, bạn có thể sửdụng
các tuỳ chọn cho tiếng trình pre-run (chạy trước) hoặc post-run (chạy bổ sung). Ví dụ, có thể bạn
muốn sửdụng một script pre-run để tạo và đưa dữ liệu vào bảng, một script post-run để xoá
bảng. Lệnh Commit sau khi chạy script sẽ kiểm tra độ an toàn của mã thường trình trong Visual
Source …. Ngoài ra, trong lần tiếp theo, thủtụclưutrữ sẽ ghi lại giá trị tham số được nhập để
việc chạy thường trình dễ dàng hơn.
Kết quả được trả về trong lưới dữ liệu DB2 và tương tự như sau:
Lưới dữ liệu DB2 trong VisualStudio2005 là thành phần giàu tính năng với nhiều hoạt động
khác nhau. Như xuất, nhập dữ liệu (gồm cả định dạng XML), dự án, giới hạn, lọc mức hàng, sắp
xếp ….
Sử dụngthủtụclưutrữSQL/PL trong ứng dụng
Chúng ta đã có được thủtục DB2 SQL/PL, bây giờ là tới nhiệm vụ sát nhập nó vào ứng dụng của
bạn.
Chú ý: Trong bài, chúng tôi chỉ giới thiệu cách xâydựngthủtụclưutrữ trên server dữ liệu DB2
chạy trong hệ điều hành Linux, UNIX hay Windows. Nhưng bạn hoàn toàn có thể dễ dàng mở
rộng khả năng này cho cơ sở dữ liệu DB2 treen i5/OS hoặc z/OS, sửdụng kết nối DB2 Connect.
Quá trình hoàn toàn tương tự.
1, Tạo một chương trình ứng dụngVisual Basic mới có tên CallMySPProject: vào File > New
Project > Windows Application, chọn Visual Basic (có thể được đặt bên dưới Other
Languages). Gõ tên dự án trong trường Name và bấm OK.
Chú ý: Không giống như các chương trình ứng dụng khác, chương trình ứng dụng này được xây
dựng trong Visual Basic.NET.
2, Đảm bảo rằng khung nhìn Add Data Source đã được thể hiện trong IDE. Nếu chưa, ấn
Shift+Alt+Delete hoặc chọn Data > Show Data Sources từ thanh menu.
3, Bấm chọn Add New Data Source trong cửa sổ Data Sources, chọn Database và bấm Next.
4, Chọn cơ sở dữ liệu SAMPLE từ danh sách xổ xuống “Which data connection should your
application use to connect to the database?” (Kiểu kết nối dữ liệu nào ứng dụng sẽ sửdụng để
kết nối tới cơ sở dữ liệu?).
5, Bấm chọn ô “Yes, include sensitive data in the connection string" (Sử dụng cả dữ liệu nhạy
cảm trong xâu ký tự) và kích Next. (Giả sử bạn đang làm việc trên một máy kiểm tra riêng và
chú ý rằ
ng VisualStudio2005thu gọn trường Connection String một cách tự động).
6, Chấp nhận các thiết lập mặc định trên trang tiếp theo. Kích Next.
7, Mở rộng nút Stored Procedure, chọn thủtụclưutrữ SELECTSTAFFBYDEPT và kích
Finish.
Chú ý: Bước này hơi khác hơn một chút so với một số bài đã được giới thiệu trước đây. Chúng ta
đang tạo ra một tập hợp dữ liệu từ thủtụclưutrữ thay vì trực tiếp từ một bảng.
Bảng màu designer bây giờ tương tự như hình bên dưới. (Có thể bạn cần mở rộng
SAMPLEDataSet một cách thủ công).
[...]... thiết kết và giúp loại bỏ các lỗi tai hại) Cuối cùng là hoạt động của thủ tụclưutrữ trong chương trình ứng dụng được sửdụng như thế nào Hy vọng bạn đọc đã có được đầy đủ thông tin cơ bản về xâydựngvàsửdụngthủtụcSQL/PL trong VisualStudio 2005, làm cơ sở để tiếp tục tìm hiểu vấn đề chuyên sâu hơn trong các tàiliệu nâng cao về sau ... tạo thủ tụclưu trữ, trong đó một tham số đầu vào được dùng để thể hiện cột DEPT trong bảng STAFF Chúng ta đã tham khảo một số thành phần nâng cao của SQL/PLVà designer thực hiện thủtụcvới IntelliSense móc nối lược đồ cơ sở dữ liệu cùng khả năng xuất/nhập tham số đầu vào từ bản thân bảng (cả hai đều giảm được thời gian thiết kết và giúp loại bỏ các lỗi tai hại) Cuối cùng là hoạt động của thủtục lưu. .. số đầu vào cho thủ tụclưutrữ bằng cách kích vào hộp Fill xổ xuống và chọn Textbox 12, Kích đúp vào Fill, bạn sẽ thấy tất cả mã đã được tạo: Bạn có thể thấy, biến DEPTNUMB được tự động xác định kích thước (DIM) trong VisualStudio2005 13, Thay đổi mã sau: Dim DEPTNUMB As Object = New Object thành Dim DEPTNUMB As Object = ToolstripTextBox1.Text 14, Ấn F5 để xâydựng ứng dụng Chương trình ứng dụng mở... Department Number vào thủ tụclưutrữ SELECTSTAFFBYDEPT và đưa kết quả vào data grid Bạn có thể dùng bất kỳ tham số hợp lệ nào cho mã số phòng ban trong bảng STAFF Nếu đưa ra cho ứng dụng một số không có trong bảng STAFF, nó sẽ trả ra tập hợp rỗng Phần minh hoạ bên dưới đưa ra mã số phòng là 20 vào thủtụclưutrữ SELECTSTAFFBYDEPT: Tóm tắt Trong bài này chúng tôi đã hướng dẫn các bạn cách dùngSQL/PL designer...8, Kéo thủ tụclưutrữ SELECTSTAFFBYDEPT từ Data Sources rồi thả xuống WinForm của bạn Nó sẽ tự động thêm một data grid và các phần công cụ tương tự như sau: Bạn có thể thấy rằng, hai mảnh công cụ khác nhau được tự động tạo saukhi thực hiện chức năng này 9, Kích chọn lên menu kéo xuống ở bên phải công cụ Fill, chọn Label Chú ý: Nếu không có thực đơn kéo xuống nào bên cạnh Fill, kích chuột vào Fill, . Xây dựng và sử dụng thủ tục lưu trữ SQL/PL với Visual Studio 2005
Hỏi: Cách tạo thủ tục lưu trữ sử dụng trình thiết kế SQL/PL Stored Procedure và. liệu này trong
bảng ảo Server Explorer.
Xây dựng thủ tục SQL/PL sử dụng designer
Để xây dựng thủ tục lưu trữ SQL/PL, chọn ra các nhân viên của một phòng