Bài giảng Lập trình ứng dụng quản lý 1 - Chương 5: ADO.NET - Trương Phước Lộc

01/10/2010  
Khoa CNTT-ĐH.KHTN  
1. GIỚI THIỆU ADO.NET  
Lập Trình Ứng Dụng Quản Lý 1  
Chương 5:  
ADO.NET  
GV. Trương Phước Lộc  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
2
Khoa CNTT-ĐH.KHTN  
Khoa CNTT-ĐH.KHTN  
2. KIẾN TRÚC ADO.NET  
2. KIẾN TRÚC ADO.NET  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
3
4
Khoa CNTT-ĐH.KHTN  
Khoa CNTT-ĐH.KHTN  
2. KIẾN TRÚC ADO.NET  
2. KIẾN TRÚC ADO.NET  
• Kiến trúc của ADO.NET bao gồm 2 phần chính:  
▫ Managed Provider Component: gồm các lớp đối  
• Kiến trúc của ADO.NET bao gồm 2 phần chính:  
▫ Managed Provider Component.  
▫ Content Component  
tượng:  
DataAdapter  
DataReader  
…  
▫ Managed Provider Component: giữ nhiệm vụ làm việc  
trực tiếp với dữ liệu như Cơ Sở Dữ Liệu, Tập Tin,…  
▫ Lớp đối tượng DataReader giúp truy cập dữ liệu  
nhanh chóng.  
▫ Lớp DataAdapter hỗ trợ việc kết nối giữa DataSet và  
CSDL.  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
5
6
1
01/10/2010  
Khoa CNTT-ĐH.KHTN  
Khoa CNTT-ĐH.KHTN  
2. KIẾN TRÚC ADO.NET  
2. KIẾN TRÚC ADO.NET  
• Kiến trúc của ADO.NET bao gồm 2 phần chính:  
▫ Content Component: gồm các lớp đối tượng:  
DataSet  
DataTable  
…  
MỘT GÓC NHÌN  
KHÁC VỀ KIẾN TRÚC  
ADO.NET  
▫ Content Component: đại diện cho dữ liệu thật sự  
cần làm việc.  
▫ Dataset được xem như là bản sao gọn nhẹ của  
CSDL trong bộ nhớ với nhiều bảng và các mối  
quan hệ giữa các bảng.  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
7
8
Khoa CNTT-ĐH.KHTN  
Khoa CNTT-ĐH.KHTN  
2. KIẾN TRÚC ADO.NET  
2. KIẾN TRÚC ADO.NET  
• Kiến trúc của ADO.NET bao gồm 2 phần chính:  
▫ Managed Provider Component: Phần kết nối: phần  
này sử dụng khi ta kết nối với Database và thao tác  
dữ liệu, yêu cầu phải thực hiện kết nối với Database  
khi đang thao tác. Các đối tượng của phần này là:  
▫ Command: Đối tượng thực hiện các câu lệnh tương  
tác truy vấn, rút trích dữ liệu từ database khi đã thiết  
lập kết nối tới dữ liệu và trả về kết quả. Tương tự như  
Connection, Command cũng có 2 dạng tuỳ theo  
nguồn dữ liệu là gì (OleDb hay SQL Server) đó là  
OleDbCommand và SqlCommand.  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
9
10  
Khoa CNTT-ĐH.KHTN  
Khoa CNTT-ĐH.KHTN  
2. KIẾN TRÚC ADO.NET  
2. KIẾN TRÚC ADO.NET  
• Kiến trúc của ADO.NET bao gồm 2 phần chính:  
• Kiến trúc của ADO.NET bao gồm 2 phần chính:  
▫ DataReader: Đối tượng xử lý đọc dữ liệu, được  
thiết kế phù hợp cho các ứng dụng web. Chỉ Xử lý  
1 dòng dữ liệu tại một thời điểm. Phù hợp với ứng  
dụng web vì xử lý nhanh, nhẹ không chiếm bộ  
nhớ. Cũng có 2 dạng tùy theo dữ liệu nguồn:  
OleDbDataReader và SqlDataReader. Dữ liệu của  
đối tượng được tạo ra khi đối tượng Command  
thực hiện câu lệnh ExecuteReader().  
▫ DataAdapter: Đây là đối tượng rất quan trọng của  
ADO.NET, nó là cầu nối của database và dataset  
(dataset là đối tượng ngắt kết nối), bởi vì đối  
tượng “ngắt kết nối” dataset không thể liên lạc  
trực tiếp với database nên nó cần một đối tượng  
trung gian lấy dữ liệu từ database cho nó. Và đó  
chính là DataAdapter. Vì DataAdpater khi thao tác  
với Database vẫn phải duy trì kết nối nên nó được  
liệt kê vào dạng “kết nối”, nhưng bản chất là phục  
vụ cho việc “ngắt kết nối”.  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
11  
12  
2
01/10/2010  
Khoa CNTT-ĐH.KHTN  
Khoa CNTT-ĐH.KHTN  
2. KIẾN TRÚC ADO.NET  
2. KIẾN TRÚC ADO.NET  
•
DataSet có nhiều đối tượng được xem là “con” tức là cấp thấp  
hơn đi kèm với nó như: DataTable (tương đương với 1 bảng  
trong database), cấp thấp hơn của DataTable có các đối tượng  
DataRow (tương đương với 1 dòng), DataColumn (tương đương  
với 1 cột), DataRelation (tương đương với các quan hệ). Ngoài  
• Kiến trúc của ADO.NET bao gồm 2 phần chính:  
▫ Content Component: Phần “ngắt kết nối”: chỉ có  
một đối tượng chịu trách nhiệm ngắt kết nối đó  
chính là DataSet.  
ra còn có các đối tượng nhóm:  
DataTableCollection,  
▫ DataSet không cần biết gì về Database thuộc kiểu  
gì, kết nối ra sao. Nhiệm vụ của DataSet là nhận  
dữ liệu về từ DataAdapter và xử lý nó.  
▫ DataSet có thể được xem như 1 Database trong  
bộ nhớ gồm tất cả các bảng ,quan hệ …..  
DataRowCollection, DataColumnCollection.  
•
Việc sử dụng DataSet là một tiến bộ lớn của kiến trúc ADO.NET  
tuy nhiên với các ứng dụng Web, việc sử dụng DataSet không  
được khuyến khích vì đối tượng DataSet được xem là quá lớn,  
nặng nề khó thích hợp cho đường truyền trên web vốn rất hạn  
chế.  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
13  
14  
Khoa CNTT-ĐH.KHTN  
Khoa CNTT-ĐH.KHTN  
2. KIẾN TRÚC ADO.NET  
2. KIẾN TRÚC ADO.NET  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
15  
16  
Khoa CNTT-ĐH.KHTN  
Khoa CNTT-ĐH.KHTN  
2. KIẾN TRÚC ADO.NET  
2. KIẾN TRÚC ADO.NET  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
17  
18  
3
01/10/2010  
Khoa CNTT-ĐH.KHTN  
Khoa CNTT-ĐH.KHTN  
2. KIẾN TRÚC ADO.NET  
2. KIẾN TRÚC ADO.NET  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
19  
20  
Khoa CNTT-ĐH.KHTN  
Khoa CNTT-ĐH.KHTN  
3. CÁC ĐẶC ĐIỂM CỦAADO.NET  
3. CÁC ĐẶC ĐIỂM CỦAADO.NET  
• ADO.NET là một phần của .NET Framework.  
• ADO.NET được xem là “bộ thư viện lớp” chịu  
trách nhiệm xử lý dữ liệu trong ngôn ngữ  
MS.NET.  
• ADO.NET được thiết kế với dạng dữ liệu “ngắt  
kết nối”, nghĩa là ta có thể lấy cả một cấu trúc  
phức tạp của dữ liệu từ database, sau đó ngắt  
kết nối với database rồi mới thực hiện các thao  
tác cần thiết. Đây là một sự tiến bộ về mặt thiết  
kế bởi vì thiết kế ADO trước đây luôn cần duy trì  
một kết nối trong quá trình thao tác dữ liệu.  
• ADO.NET được thiết kế hoàn toàn dựa vào XML  
vì XML là chuẩn trao đổi dữ liệu tiến bộ và tốt  
nhất trên môi trường Internet hiện nay.  
• ADO.NET được thiết kế hoàn toàn hướng đối  
tượng: đây là đặc điểm chi phối toàn bộ các sản  
phẩm Microsoft .NET.  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
21  
22  
Khoa CNTT-ĐH.KHTN  
Khoa CNTT-ĐH.KHTN  
3. CÁC ĐẶC ĐIỂM CỦAADO.NET  
3. CÁC ĐẶC ĐIỂM CỦAADO.NET  
Đặc điểm  
ADO  
ADO.NET  
Đặc điểm  
ADO  
ADO.NET  
Khả năng vượt tường Khi trao đổi dữ liệu với ADO qua ADO.NET trao đổi dữ liệu qua  
Dữ liệu xử lý được đưa Recordset: tương đương  
1
bảng dữ Dataset: tương đương  
database  
1
lửa  
Internet, thường sử dụng chuẩn COM, Internet rất dễ dàng vì ADO.NET  
chuẩn COM rất khó vượt qua được được thiết kế theo chuẩn XML,  
tường lửa. Do vậy khả năng trao đổi dữ là chuẩn dữ liệu chính được sử  
liệu ADO qua Internet thường có nhiều dụng để trao đổi trên Internet.  
hạn chế.  
vào bộ nhớ dưới dạng  
Duyệt dữ liệu  
liệu trong database  
Recordset chỉ cho phép duyệt tuần tự, Dataset: cho phép duyệt “tự do,  
từng dòng một.  
ngẫu nhiên”, truy cập thẳng tới  
bảng ,dòng ,cột mong muốn.  
Dữ liệu ngắt kết nối  
Recordset cũng có thể ngắt kết nối Dataset được thiết kế với tư  
nhưng tư tưởng thiết kế ban đầu của tưởng ban đầu là “ngắt kết nối”  
Recordset là hướng kết nối, do đó việc à hỗ trợ mạnh mẽ “ngắt kết nối”.  
ngắt kết nối cũng không được hỗ trợ tốt  
nhất.  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
23  
24  
4
01/10/2010  
Khoa CNTT-ĐH.KHTN  
Khoa CNTT-ĐH.KHTN  
4. CONTENT COMPONENT  
4.1 DataSet  
• Content component là các lớp đối tượng đại  
diện cho dữ liệu cần xử lý. Trong ADO.NET dữ  
liệu được đại diện bởi DataSet nhưng dưới một  
hình ảnh thu gọn, có nhiều table và các mối  
quan hệ. Các lớp đối tượng chính của content  
component bao gồm:  
▫ DataSet  
▫ DataTable  
▫ DataView  
▫ DataRow  
▫ DataColumn  
▫ DataRelation  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
25  
26  
Khoa CNTT-ĐH.KHTN  
Khoa CNTT-ĐH.KHTN  
4.1 DataSet  
4.2 DataTable  
• ADO.NET chứa dữ liệu trong DataSet cùng với  
mối quan hệ giữa các dữ liệu nội tại bên trong.  
• DataSet giống như một hình ảnh về CSDL trong  
bộ nhớ, có thể có nhiều DataTable và các mối  
quan hệ giữa chúng đại diện bởi các  
DataRelation.  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
27  
28  
Khoa CNTT-ĐH.KHTN  
Khoa CNTT-ĐH.KHTN  
4.2 DataTable  
4.2 DataTable  
• DataTable là một thành phần của DataSet.  
DataTable chứa dữ liệu của một bảng trong  
DataSet. DataTable bao gồm hai thành phần:  
• Tập  
hợp  
Columns  
thuộc  
lớp  
DataColumnCollection trong đó mỗi cột là một  
đối tượng thuộc lớp DataColumn.  
• Tập hợp Rows thuộc lớp DataRowCollection  
trong đó mỗi dòng là một đối tượng thuộc lớp  
DataRow.  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
29  
30  
5
01/10/2010  
Khoa CNTT-ĐH.KHTN  
Khoa CNTT-ĐH.KHTN  
4.3 DataView  
4.3 DataView  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
31  
32  
34  
36  
Khoa CNTT-ĐH.KHTN  
Khoa CNTT-ĐH.KHTN  
4.3 DataView  
4.4 DataRow  
• Trên một DataTable có thể tạo nhiều DataView  
với các điều kiện lọc, sắp xếp dữ liệu khác  
nhau.  
• Trên DataView ta có thể xem hay thay đổi giá trị  
các mẫu tin.  
• DataView của ADO.NET còn giữ nhiệm vụ kết  
nối với các control của Window Form và Web  
Form.  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
33  
Khoa CNTT-ĐH.KHTN  
Khoa CNTT-ĐH.KHTN  
4.4 DataRow  
4.5 DataColumn  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
35  
6
01/10/2010  
Khoa CNTT-ĐH.KHTN  
Khoa CNTT-ĐH.KHTN  
4.6 DataRelation  
4.6 DataRelation  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
37  
38  
Khoa CNTT-ĐH.KHTN  
Khoa CNTT-ĐH.KHTN  
4.6 DataRelation  
4.6 DataRelation  
• DataSet bao gồm tập hợp các bảng đại diện bởi  
các đối tượng thuộc lớp DataTable và quan hệ  
giữa các bảng được đại diện bởi các đối tượng  
thuộc lớp DataRelation.  
• Một đối tượng kiểu DataRelation bao gồm các  
thông tin:  
▫ Tên của bảng cha, bảng con.  
▫ Các column trong DataRelation đại diện cho  
Primary Key trong bảng cha và Foreign Key trong  
bảng con.  
• Với DataRelation người lập trình có thể:  
▫ Định nghĩa được mối quan hệ giữa các bảng.  
▫ Duyệt dữ liệu trong các bảng theo kiểu Master-  
Detail.  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
39  
40  
Khoa CNTT-ĐH.KHTN  
Khoa CNTT-ĐH.KHTN  
5. MANAGED PROVIDER  
COMPONENT  
• Managed provider component là các lớp đối  
tượng đại diện cho phần thao tác dữ liệu. Các  
lớp đối tượng chính bao gồm:  
▫ Connection  
6. SỬ DỤNG ADO.NET TRONG  
VISUAL BASIC.NET  
Namespace  
Sử dụng  
System.Data  
Chứa tất cả lớp cơ sở của kiến trúc ADO.NET.  
System.Data.  
Common  
Chứa các lớp chia sẻ của .NET Data Providers.  
System.Data.  
SqlClient  
Chứa các lớp hỗ trợ hệ quản trị cơ sở dữ liệu MS SQL  
Server phiên bản 7.0 trở lên.  
▫ Command  
▫ DataReader  
System.Data.  
SqlOleDb  
Chứa các lớp hỗ trợ cho cở sở dữ liệu OLEDB vd Access,  
Oracle hay MS SQL Server phiên bản 6.5 trở về trước.  
▫ DataAdapter  
System.Data.  
Sqltypes  
Cung cấp các lớp hỗ trợ thao tác trên các kiểu dữ liệu cơ  
bản của SQL Server.  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
41  
42  
7
01/10/2010  
Khoa CNTT-ĐH.KHTN  
Câu hỏi  
GV. Trương Phước Lộc  
ThS. Nguyễn Tấn Trần MinhKhang  
43  
8
pdf 8 trang myanh 22460 Free
Bạn đang xem tài liệu "Bài giảng Lập trình ứng dụng quản lý 1 - Chương 5: ADO.NET - Trương Phước Lộc", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_lap_trinh_ung_dung_quan_ly_1_chuong_5_ado_net_truo.pdf