Giáo trình Lập trình cơ sở dữ liệu (Phần 2)

6.1. Kiến trúc ADO.NET

Trong những ngày đầu khi Internet mới phát triển ADO được sử dụng nhiều

trong các ứng dụng Web viết bằng ASP. Sau này, Mircosoft nhận ra mô hình kết

nối ADO không thích hợp cho mô hình ứng dụng Internet và những ứng dụng phân

tán trong tương lai. Một cuộc cách mạng lớn đã diễn ra để tạo nên công nghệ hoàn

thiện ADO.NET. ADO.NET hỗ trợ rất mạnh các ứng dụng phân tán, ứng dụng

Internet, ứng dụng đòi hỏi tốc độ và khối lượng người truy cập đồng thời lớn.

Trong kiến trúc ADO.NET có hai thành phần chính đó là: thành phần truy cập

dữ liệu và thành phần lưu trữ xử lý dữ liệu.

Thành phần thứ nhất gọi là .NET Framework Data Providers, được thiết kế để

thực hiện các thao tác kết nối, gửi các lệnh xử lý đến CSDL, thành phần này còn

được gọi với tên khác là lớp kết nối (Connectivity Layer). Trong ADO.NET có bốn

đối tượng chính để xử lý phần kết nối và tương tác với dữ liệu là:

- Connection: Đối tượng cho phép kết nối đến nguồn cơ sở dữ liệu như: SQL

Server, Oracle, ODBC, OLEDB

- Command: Đối tượng cho phép truy nhập CSDL và thực thi phát biểu SQL

hay thủ tục lưu trữ của CSDL, truyền tham số và trả lại dữ liệu

- DataReader: Bộ đọc, dùng để đọc nhanh dữ liệu nguồn theo một chiều

- DataAdapter: Bộ điều phối hay cầu nối, dùng để chuyển dữ liệu truy vấn

được cho các đối tượng lưu trữ và xử lý như DataSet, DataTable, DataAdapter chủ

yếu sẽ thực hiện các thao tác truy vấn, thêm mới, chỉnh sửa, xóa dữ liệu

Thành phần thứ hai, DataSet được xem như đối tượng chứa dùng để chứa đối

tượng liên quan đến dữ liệu như DataTable, DataRelation, DataView, đôi khi

DataSet còn được gọi là là lớp không kết nối (Disconnected layer). Có thể hình

dung DataSet như một CSDL nhỏ.

ADO.NET cung cấp một giao diện hay đặc tả cho các đối tượng như

Connection, Command, DataReader, DataAdapter. Các nhà cung cấp sẽ đưa ra các

trình điều khiển gọi là Provider. Mỗi Provider sẽ đặt tên cho các đối tượng theo137

cách của họ, thông thường là thêm tiếp đầu ngữ của Provider vào tên 4 đối tượng

nêu trên. Cụ thể:

Provider SQL Server, namespace System.Data.SqlClient, sẽ thêm tiếp đầu ngữ là

Sql vào tên của 4 đối tượng trên (SqlConnection, SqlCommand, SqlDataReader,

SqlDataAdapter)

Provider Oracle, namespace System.Data.Oracle sẽ thêm tiếp đầu ngữ là

Oracle vào tên của 4 đối tượng trên.

Provider OLEDB, namespace System.Data.OLEDB, sẽ thêm tiếp đầu ngữ là

Oledb vào tên của 4 đối tượng trên

Provider ODBC, namespace System.Data.ODBC, sẽ thêm tiếp đầu ngữ là

Odbc vào tên của 4 đối tượng trên.

Giáo trình Lập trình cơ sở dữ liệu (Phần 2) trang 1

Trang 1

Giáo trình Lập trình cơ sở dữ liệu (Phần 2) trang 2

Trang 2

Giáo trình Lập trình cơ sở dữ liệu (Phần 2) trang 3

Trang 3

Giáo trình Lập trình cơ sở dữ liệu (Phần 2) trang 4

Trang 4

Giáo trình Lập trình cơ sở dữ liệu (Phần 2) trang 5

Trang 5

Giáo trình Lập trình cơ sở dữ liệu (Phần 2) trang 6

Trang 6

Giáo trình Lập trình cơ sở dữ liệu (Phần 2) trang 7

Trang 7

Giáo trình Lập trình cơ sở dữ liệu (Phần 2) trang 8

Trang 8

Giáo trình Lập trình cơ sở dữ liệu (Phần 2) trang 9

Trang 9

Giáo trình Lập trình cơ sở dữ liệu (Phần 2) trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 67 trang xuanhieu 8780
Bạn đang xem 10 trang mẫu của tài liệu "Giáo trình Lập trình cơ sở dữ liệu (Phần 2)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Lập trình cơ sở dữ liệu (Phần 2)

Giáo trình Lập trình cơ sở dữ liệu (Phần 2)
ìm giá trị nhỏ nhất của tất cả các 
trường 
Mode Trả về giá trị trùng nhiều nhất 
NthLargest Trả về giá trị lớn nhất của tất cả các 
trường với thứ hạng N nào đó. Ví dụ 
nếu N = 3 nó sẽ trả về 3 giá trị lớn 
nhất 
NthSmallest Trả về giá trị nhỏ nhất của tất cả các 
trường với thứ hạng N nào đó. Ví dụ 
nếu N = 3 nó sẽ trả về 3 giá trị lớn 
nhất 
Percentage Trả về phần trăm so với tổng cộng của 
trường đã chọn 
PopStandardDeviation Tính xem một trường chênh lệch bao 
nhiêu so với giá trị trung bình 
Sum Trả về tổng của tất cả các trường 
được chọn 
Để kết xuất dữ liệu từ một hoặc một số trường, ta Click chuột phải vào trường trong 
nhóm rồi chọn Insert Summary. Tiếp theo chọn hàm cần tính trong hộp danh sách 
Calculate this sumary rồi chọn OK để hoàn tất thao tác. 
7.7. Sử dụng tham số và công thức 
 Crystal Report coi tham số tương đương với hằng số trong ngôn ngữ lập trình. 
Các tham số được gán giá trị khi báo cáo khởi động và giá trị đó sẽ không thay đổi. 
Nó có thể sử dụng để hiển thị dữ liệu trên báo cáo, để lọc dữ liệu hay dùng để thay 
đổi việc định dạng các đối tượng trong báo cáo. Ở dạng thông thường, tham số được 
sử dụng như là cách đơn giản giúp người sử dụng nhập vào một giá trị cho báo cáo. 
Để bổ sung một tham số vào báo cáo, ta Click phải chuột vào mục Parameter Fields 
trong cửa sổ Field Explorer, rồi chọn New 
 182
Hộp thoại Create Parameter Field xuất hiện 
Thuộc tính Name được sử dụng để đặt tên cho tham số, tham số Prompting text 
sẽ dùng để hiển thị dòng văn bản thông báo cho người sử dụng biết nhập nội dung 
gì vào tham số khi chạy báo cáo. Thuộc tính Value type dùng để chọn kiểu dữ liệu 
cho tham số. Phần Options cho phép ta thiết lập các tùy chọn lưu trữ dữ liệu của 
tham số, các tùy chọn này gồm có: 
Tùy chọn Diễn giải 
Discrete value(s) Người sử dụng phải nhập một giá trị đơn 
Range value(s) Người sử dụng phải nhập vào một 
khoảng giá trị bao gồm số bắt đầu và số 
kết thúc 
Discrete and Range values Cho phép người sử dụng 
 183 
7.8. Đóng gói Project và report 
Giả sử đã có một project bao gồm 1 form, trên form có một CrystalReportViewer 
hiển thị dữ liệu từ database pubs (SQL Server) 
- Add thêm 1 project dùng Setup một ứng dụng có đem theo các component dùng 
hiển thị CrystalReport như sau: 
Màn hình Solution như sau: 
 184
Chọn project MySetUp(tên ứng dụng Setup) và nhấn phím phải chuột và chọn 
Project Output 
Chọn như hình và nhấn OK 
Tiếp tục chọn MySetUp , nhấn phải chuột , Add , MergeModule , chọn 4 file đầu 
như hình và 2 file VC_User_CRT71_RTL_X86.msn and 
VC_UserSTL71_RTL_X86msn Required only when reports use ADO.NET 
DataSet objects 
 185 
Nhấn OK – Trong cửa sổ Solution sẽ có những file như sau: 
- Chọn tập tin như hình bên , trong cửa sổ property mở Lisence Key. 
- Chọn Help/About Microsoft Development Environment, copy Info phần 
CrystalReport như hình sau: 
 186
Paste vào phần Lisence Key trong cửa sổ Property , chú ý chỉ lấy code : AAP50-
GS00000-U7000RN ( máy khác con số này có thể khác) 
- Build / Build MySetUp ( theo thí dụ trên) 
- Ta có được MySetUp.msi , đem file này đi để setup ứng dụng( database attach 
trước đó) 
 187 
 188
Chương 8. Phân phối và đóng gói ứng dụng Visual Basic.NET 
8.1. Lập kế hoạch triển khai đóng gói dự án 
 Cài đặt theo mô hình COM trước kia có rất nhiều hạn chế như: các đăng ký 
DLL bị trùng lắp, không phù hợp phiên bản, xung đột. Một số chương trình cài đặt 
được nhưng không thực thi được, cài đặt xong không gỡ được hay gỡ nhưng vẫn để 
lại rácGiờ đây VB.NET đã khắc phục những nhược điểm đó vì nó có thể cài đặt 
mà không cần đăng ký vào Registry của hệ thống. Nó chủ yếu dựa trên bộ khung 
.NET Framework thay vì yêu cầu đối tượng COM gọi đến hàm API của Windows. 
Chương trình sẽ được biên dịch thành các gói (Assembly) và chương trình cài đặt sẽ 
ráp các phần lại cùng với các file thư viện cần thiết. 
 Một gói Assembly của ứng dụng .NET gồm 4 thành phần: ngôn ngữ diễn dịch 
trung gian MSIL (Microsoft Intermediate Language), mã (MSIL code), dữ liệu mô 
tả (metadata) và file chứa thông tin (manisfest file), các file hỗ trợ (support files) và 
tài nguyên (resource) dành cho chương trình. 
 Hình sau minh họa chương trình Luckyseven.exe được xem là một gói 
Assembly với 4 thành phần cơ bản: 
LuckySeven.EXE 
MSIL Code 
Metadata 
- Định nghĩa kiểu dữ liệu, phương thức 
- Các tham chiếu về kiểu dữ liệu, đối tượng, phương thức 
Manifest 
- Tên và phiên bản của chương trình 
- Danh sách các file 
- Các tham chiếu đến gói (Assembly) khác 
- Các thông tin bảo mật 
- Các kiểu xuất (Exported) cho môi trường sử dụng 
- Các thông tin về tài nguyên 
Resource 
- Các tài nguyên chương trình cần dùng 
8.2. Các cách đóng gói và triển khai ứng dụng khác nhau 
 Khi bắt đầu chuẩn bị cho việc phân phối sản phẩm của mình, hãy xem xét các 
phương thức cài đặt khác nhau: 
 189 
- Cài dặt ứng dụng lên máy tính và đăng ký nó với Windows Registry 
- Tạo chương trình cài đặt cho phép chương trình có thể cài từ mạng LAN 
hay Internet 
- Đóng gói ứng dụng cho phép cài từ CD 
- Đóng gói ứng dụng thành các file .CAB (một dạng file tự bung) có thể 
dùng cho các trình duyệt download về hay sao chép đi cài ở bất kỳ đâu. 
 Trong Visual Studio có thể nhanh chóng tạo ra dự án đóng gói Deployment 
bằng trình Setup Winzard. Việc tùy biến dự án là hoàn toàn dễ dàng bằng cách thay 
đổi các tùy chọn. Nếu muốn đóng gói lên CD thì cần có đầu ghi CD. 
 Trên mỗi máy chạy chương trình .NET cần có một bộ khung .NET 
FrameWork. Sau này trong các phiên bản hệ điều hành sẽ chứa sẵn .NET 
Framework Runtime. Nếu máy đã có sẵn thì việc cài đặt chỉ đơn giản là sao chép và 
chạy. 
 Tuy nhiên hầu như khi đóng gói Visual Studio đã nhúng luôn thư viện .NET 
runtime kèm theo chương trình nên nếu dung lượng bộ cài có lớn hơn nhiều so với 
chương trình. 
8.3. Tạo dự án Deployment 
 Bây giờ chúng ta sẽ tạo dự án Deployment. Chương trình setup của chúng ta 
sẽ tạo một shortcut icon cho chương trình trên menu Start | Programs của windows, 
thêm file readme vào thư mục C:\Program Files \ microsoft press\Lucky Seven, 
đăng ký với Registry để cuối chương tiến hành gỡ bằng chức năng Add/Remove 
Programs. 
Thực hiện theo các bước sau đây: 
 Mở Project muốn đóng goi bằng Visual Studio và chọn File | New | Project từ 
menu File. 
 190
 Chọn Other Project Types và chọn Setup and Deployment. Có 6 mẫu phía bên 
phải khung cho phép lựa chọn. Mẫu CAB project cho phép đóng gói chương 
trình thành nhiều gói .cab. Mẫu Merge Module Project cho phép đóng gói 
chung các dự án khác nhau (tạo file .msm có thể trộn tiếp vào các gói cài đặt 
khác). Mẫu Setup Project tạo bộ đóng gói cài đặt bởi Windows Installer. 
Mẫu Web Installer cài đặt chương trình từ một WebserverCó lẽ chúng ta 
sẽ chọn mẫu Setup Winzard, mẫu này đóng gói chương trình thông qua các 
câu hỏi và yêu cầu thực hiện một số bước cấu hình đơn giản. 
 Nhấn vào biểu tượng Setup Wizard và gõ vào chuỗi LuckySeven_Version1.0 
và chọn đường dẫn đến giải pháp LuckySeven. 
 Chọn Add To Solution từ danh sách Solution để kết hợp hai dự án cùng lúc 
vào giải pháp hiện hành. 
 Nhấn OK để làm xuất hiện trình Setup Winzard. 
 191 
8.3.1. Sử dụng trình Setup Winzard 
1. Nhấn nút Next ở màn hình giới thiệu 
2. Hộp thoại Choose a Project Type xuất hiện. Hộp thoại này cho phép ta kiểm 
soát cách đóng gói và phân phối dự án chương trình. Trong bài tập này ta để 
mặc định là lựa chọn đầu tiên “Creat a setup for a windows application” 
3. Nhấn nút Next. Hộp thoại Choose Project Output To Include hiển thị cho 
phép chỉ định file kèm theo trình cài đặt và các thông tin về chương trình. 
4. Nhấn chọn Primary Output như hình: 
 192
5. Nhấn Next. Hộp thoại Choose Files To Include hiển thị cho phép chọn các files 
dữ liệu, file hướng dẫn 
6. Nhấn nút Add và chọn file readme.txt trong dự án. 
7. Nhấn Next để hiển thị hộp thoại Creat Project. Tại đây các thông tin về dự án 
đóng gói đã chọn. Bạn có thể nhấn nút Previous để hiệu chỉnh thông tin trước khi 
hoàn thiện. 
8. Nhấn nút Finish để tạo dự án Deployment cho chương trình Luckyseven. Lúc này 
dự án mới đóng gói sẽ được liệt kê trong cửa sổ Solution Explorer. Bộ soạn thảo 
File System Editor cũng xuất hiện. Bạn có thể sử dụng File System Editor để thêm 
vào các file kết xuất, cùng các mục khác để xác định dự án có cần cài thêm những 
file phục lên máy khách trong quá trình cài đặt hay không. File System Object hiển 
thị danh sách các folder chuẩn sẽ được sử dụng hay tạo ra khi cài dặt. Bạn có thể 
tùy biến những folder này và thêm vào những folder đặc biệt khác tùy theo mục 
đích của chương trình. Bạn cũng có thể yêu cầu File System Editor tạo short cut cho 
chương trình. Bạn hãy xem qua các file chúng ta đã đính kèm và các file phụ thuộc 
 193 
vào thư viện thực thi .Net Framework trong folder Detected Dependencies, nơi chứa 
file .exe (Primary Output) như hình: 
 9. Tùy biến các lựa chọn đóng gói. Phần này chúng ta sẽ tách riêng trong mục 
4. 
8.3.2. Tạo dự án đóng gói sử dụng mẫu Setup Winzard 
Tương tự như phần trên, các bạn co thể tham khảo thêm trong các tài liệu khác. 
8.4. Tùy biến các lựa chọn đóng gói 
 Bây giờ dự án của chúng ta đã sẵn sàng đóng gói. Khi có yêu cầu đóng gói, 
các file sẽ kết xuất ra thư mục chúng ta đã chọn và lưu trong file .msi (Microsoft 
Installer). Bạn có thể cài đặt từ file này. 
 Tuy nhiên chúng ta sẽ tạo thêm một số tùy chọn cho chương trình cài đặt trước 
khi yêu cầu đóng gói như tạo short cut, tạo tên công ty, phiên bản chương trình 
8.4.1. Cấu hình các thiết lập 
1. Chọn Build | Configuration Manager từ menu làm xuất hiện hộp thoại sau: 
 194
Hộp thoại này cho phép hiển thị chế độ biên dịch hiện hành cho các dự án 
đang có trong Solution. Lúc này chúng ta nên chọn là Release – biên dịch tối 
ưu thay cho Debug. 
2. Nhấn chọn danh sách Active Solution Configuration và chọn là Release 
3. Nhấn chọn danh sách Configuration cho cả hai dự án LuckySeven và 
LuckySeven_Version1.0 và chọn Release. 
4. Đánh dấu chọn mục Buil cho cả hai dự án. 
5. Nhấn nút Close. 
 195 
Tiếp theo chúng ta sử dụng File System Editor để yêu cầu trình cài đặt tạo short cut 
cho chương trình sau khi cài đặt thành công. 
8.4.2. Tạo shortcut cho ứng dụng cài đặt 
1. Chọn Application Folder trong khung trái cửa sổ File System Editor. Nếu File 
System Editor chưa xuất hiện bạn có thể cho nó xuất hiện bằng cách chọn dự án 
trong Solution Explorer và chọn View | Editor | File System. 
2. Bên khung phải bạn Click chuột phải vào mục Primary Output From LuckySeven 
và chọn Creat Shortcut To Primary Output From Luckyseven từ menu. 
3. Đổi tên thành Lucky Seven và ấn Enter. 
4. Kéo Shortcut Lucky Seven vào trong thư mục User‟s Programs Menu Folder bên 
khung trái như hình: 
Tiếp theo chúng ta sẽ tìm hiểu thêm về cách tùy biến thông tin về tên công ty và 
phiên bản chương trình. 
8.4.3. Thiết lập tên công ty và phiên bản chương trình 
1. Chọn dự án Luckyseven_Version1.0 từ cửa sổ Solution Explorer. 
2. Mở cửa sổ Properies của nó. 
 196
Thuộc tính Author thường dùng đặt tên cho tác giả hay nhà sản xuất. Tên này 
cũng được dùng làm thư mục cho chương trình đặt trong Program Files. Khi 
chương trình Setup thực thi, thông tin về tác giả sẽ được đặt trong trường 
Contact của hộp thoại Support Info, hộp thoại này bạn có thể truy xuất sau đó 
thông qua mục Add/Remove Programs trong Control Panel. 
Thuộc tính Tiile chứa tên chương trình setup, thuộc tính Version chứa số hiệu 
phiên bản cho chương trình. 
3. Thay đổi thuộc tính Author thành Luckystar Programming 
4. Đổi Version thành 1.0 
5. Ấn Yes khi có hộp thoại xuất hiện 
6. Xem lại các thuộc tính khác nữa trước khi đóng gói thực sự. 
Bây giờ hãy thử mở hộp thoại Property Pages bằng cách R-Click vào dự án chọn 
Properties xem các thông tin thiết lập có đúng hay không. 
 197 
8.4.4. Đặt các thuộc tính cho gói ứng dụng 
Bạn làm xuất hiện cửa sổ Property Pages như hình: 
Hộp thoại này cho phép quyết định xem lại những gì đã tùy chọn trong trình Setup 
Winzard và tùy biến số ít các thiết lập bổ sung không có trong winzard. 
 Output File name cho phép đặt tên cho file cài đặt. 
 Danh sách Package files: có 3 tùy chọn là As Loose Uncompress Files – tạo ra 
các file không nén trong cùng thư mục với file .msi; mục In Setup File lúc 
này chọn mặc định do lựa chọn của chúng ta trong quá trình dùng Setup 
Winzard; mục In Cabinet Files – tạo ra một hay nhiều file .CAB là các file 
chứa ứng dụng của bạn trong đó. 
 Chọn mục In Cabinet Files, bạn có thể tùy chỉnh các thông số tương ứng 
 Nhấn chuột trở lại và lại chọn In Setup File. Chúng ta sẽ tạo ra một file cài đặt 
đơn chứa tất cả các file yêu cầu của chương trình. 
 Nhấn OK để lưu lại các thay đổi của bạn trong hộp thoại Property Pages. 
8.5. Biên dịch và đóng gói dự án – kiểm tra việc cài đặt 
Bây giờ dự án đã sẵn sàng để biên dịch, các bước thực hiện như sau: 
 198
 Biên dịch bằng lệnh Build | Build Solution. Quá trình diễn ra hơi lâu. Bạn để ý 
thanh theo dõi tiến trình xem quá trình biên dịch dự án. 
Nếu biên dịch thành công thì một thông báo hiện ở cuối góc trái màn hình 
. 
 Chạy chương trình Setup để cài đặt ứng dụng. Bạn mở thư mục chứa dự án đã 
chọn và tìm file cài đặt: 
Khi bạn chọn file LuckySeven_Version1.0 thì thông tin cấu hình trong phần trước 
sẽ hiện lên như thế này: 
Kiểm tra quá trình cài đặt xem các file có được cài đủ và đúng vị trí hay không: 
 Click đúp chuột vào file setup.exe để khởi động chương trình cài đặt, sau một 
lúc màn hình chào mừng hiện ra như sau: 
 199 
 Nhấn Next để tiếp tục cài đặt. Hộp thoại Select Installation Folder yêu cầu 
nhập thông tin về thư mục cài đặt và các tùy chọn bổ sung. 
 Để mặc định các tùy chọn trừ tùy chọn người sử dụng thì chọn Everyone. 
Nhấn Next 
Nhấn nút Next để bắt đầu cài đặt. 
 200
Nhấn Close để hoàn tất cài dặt. 
8.6. Tìm hiều các file Setup và gỡ chương trình 
8.6.1. Kiểm tra file cài đặt 
 Mở thư mục chứa phần cài đặt trong Program Files và xem các file mà chương 
trình đã cài vào. Như hình ta có hai file là Luckyseven.exe và Readme.txt: 
Có thể mở xem nội dung file Readme.txt xem nội dung: 
 201 
8.6.2. Tháo gỡ chương trình 
Bạn tháo gỡ chương trình như mọi chương trình khác. 
Có thể xem thông tin bằng cách click vào nút Support Info để xem thông tin về 
chương trình: 
Đóng thông tin lại và click vào Remove và chọn Yes khi có thông báo hiện ra. Vậy 
là ta đã tạo dự án phân phối, cài đặt và tháo gỡ thành công một chương trình 
VB.NET. 
 202
TÀI LIỆU THAM KHẢO 
1. Thearon Willis- Bryan Newsome. Begin Visual Basic 2005. Wiley Publishing 
Inc. 2006. 
2. Thearon Willis. Begin Visual Basic 2005 Databases. Wiley Publishing Inc. 
2006. 
3. Phương Lan- Hoàng Đức Hải. Visual Basic.Net kỹ xảo lập trình. Nhà xuất bản 
Thống kê. 2006. 
4. Phương Lan- Hoàng Đức Hải. Visual Basic 2005. Nhà xuất bản Phương Đông. 
Tập 1,2,3,4. 

File đính kèm:

  • pdfgiao_trinh_lap_trinh_co_so_du_lieu_phan_2.pdf