Tải bản đầy đủ (.pdf) (8 trang)

Ltudql1 05 tong quan ado

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.22 MB, 8 trang )

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

2

ThS. Nguyễn Tấn Trần Minh Khang

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

GV. Trương Phước Lộc

3


ThS. Nguyễn Tấn Trần Minh Khang

4

ThS. Nguyễn Tấn Trần Minh Khang

Khoa CNTT-ĐH.KHTN

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.
▫ Content Component

Khoa CNTT-ĐH.KHTN

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
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


5

ThS. Nguyễn Tấn Trần Minh Khang

GV. Trương Phước Lộc

6

ThS. Nguyễn Tấn Trần Minh Khang

1


01/10/2010

Khoa CNTT-ĐH.KHTN

2. KIẾN TRÚC ADO.NET

Khoa CNTT-ĐH.KHTN

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
…


▫ 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

7

ThS. Nguyễn Tấn Trần Minh Khang

MỘT GÓC NHÌN
KHÁC VỀ KIẾN TRÚC
ADO.NET

GV. Trương Phước Lộc

8

ThS. Nguyễn Tấn Trần Minh Khang

Khoa CNTT-ĐH.KHTN

2. KIẾN TRÚC ADO.NET

Khoa CNTT-ĐH.KHTN

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

9

ThS. Nguyễn Tấn Trần Minh Khang

GV. Trương Phước Lộc

10

ThS. Nguyễn Tấn Trần Minh Khang

Khoa CNTT-ĐH.KHTN

2. KIẾN TRÚC ADO.NET
• 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().

GV. Trương Phước Lộc

11

ThS. Nguyễn Tấn Trần Minh Khang

Khoa CNTT-ĐH.KHTN

2. KIẾN TRÚC ADO.NET
• Kiến trúc của ADO.NET bao gồm 2 phần chính:
▫ 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

12

ThS. Nguyễn Tấn Trần Minh Khang


2


01/10/2010

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: 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.
▫ 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ệ …..

GV. Trương Phước Lộc

13

Khoa CNTT-ĐH.KHTN

ThS. Nguyễn Tấn Trần Minh Khang


• 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ệ). Ngồi
ra cịn có các đối tượng nhóm:
DataTableCollection,
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à q 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

14

ThS. Nguyễn Tấn Trần Minh Khang

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


GV. Trương Phước Lộc

15

ThS. Nguyễn Tấn Trần Minh Khang

16

ThS. Nguyễn Tấn Trần Minh Khang

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

GV. Trương Phước Lộc

17

ThS. Nguyễn Tấn Trần Minh Khang

18

ThS. Nguyễn Tấn Trần Minh Khang


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

GV. Trương Phước Lộc

19

ThS. Nguyễn Tấn Trần Minh Khang

20

ThS. Nguyễn Tấn Trần Minh Khang

Khoa CNTT-ĐH.KHTN

3. CÁC ĐẶC ĐIỂM CỦA ADO.NET

3. CÁC ĐẶC ĐIỂM CỦA ADO.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 ln cần duy trì
một kết nối trong quá trình thao tác dữ liệu.
GV. Trương Phước Lộc

21

Khoa CNTT-ĐH.KHTN

• ADO.NET được thiết kế hồn tồ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.

ThS. Nguyễn Tấn Trần Minh Khang

GV. Trương Phước Lộc

22


ThS. Nguyễn Tấn Trần Minh Khang

Khoa CNTT-ĐH.KHTN

3. CÁC ĐẶC ĐIỂM CỦA ADO.NET

3. CÁC ĐẶC ĐIỂM CỦA ADO.NET

Đặc điểm

ADO

Dữ liệu xử lý được đưa
vào bộ nhớ dưới dạng

Recordset: tương đương 1 bảng dữ
liệu trong database

Dataset:
database

Duyệt dữ liệu

Recordset chỉ cho phép duyệt tuần tự,
từng dòng một.

Dataset: cho phép duyệt “tự do,
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
nhưng tư tưởng thiết kế ban đầu của
Recordset là hướng kết nối, do đó việc
ngắt kết nối cũng không được hỗ trợ tốt
nhất.

Dataset được thiết kế với tư
tưởng ban đầu là “ngắt kết nối”
à hỗ trợ mạnh mẽ “ngắt kết nối”.

GV. Trương Phước Lộc

23

ADO.NET
tương

đương

ThS. Nguyễn Tấn Trần Minh Khang

Khoa CNTT-ĐH.KHTN

1

Đặc điểm


ADO

ADO.NET

Khả năng vượt tường
lửa

Khi trao đổi dữ liệu với ADO qua
Internet, thường sử dụng chuẩn COM,
chuẩn COM rất khó vượt qua được
tường lửa. Do vậy khả năng trao đổi dữ
liệu ADO qua Internet thường có nhiều
hạn chế.

ADO.NET trao đổi dữ liệu qua
Internet rất dễ dàng vì ADO.NET
được thiết kế theo chuẩn XML,
là chuẩn dữ liệu chính được sử
dụng để trao đổi trên Internet.

GV. Trương Phước Lộc

24

ThS. Nguyễn Tấn Trần Minh Khang

4


01/10/2010


Khoa CNTT-ĐH.KHTN

4. CONTENT COMPONENT

Khoa CNTT-ĐH.KHTN

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


25

ThS. Nguyễn Tấn Trần Minh Khang

GV. Trương Phước Lộc

26

Khoa CNTT-ĐH.KHTN

4.1 DataSet

ThS. Nguyễn Tấn Trần Minh Khang

Khoa CNTT-ĐH.KHTN

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

27


ThS. Nguyễn Tấn Trần Minh Khang

GV. Trương Phước Lộc

28

Khoa CNTT-ĐH.KHTN

4.2 DataTable

ThS. Nguyễn Tấn Trần Minh Khang

Khoa CNTT-ĐH.KHTN

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


29

ThS. Nguyễn Tấn Trần Minh Khang

GV. Trương Phước Lộc

30

ThS. Nguyễn Tấn Trần Minh Khang

5


01/10/2010

Khoa CNTT-ĐH.KHTN

4.3 DataView

GV. Trương Phước Lộc

Khoa CNTT-ĐH.KHTN

4.3 DataView

31

ThS. Nguyễn Tấn Trần Minh Khang


GV. Trương Phước Lộc

32

Khoa CNTT-ĐH.KHTN

4.3 DataView

ThS. Nguyễn Tấn Trần Minh Khang

Khoa CNTT-ĐH.KHTN

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

33

ThS. Nguyễn Tấn Trần Minh Khang

GV. Trương Phước Lộc


34

Khoa CNTT-ĐH.KHTN

4.4 DataRow

GV. Trương Phước Lộc

ThS. Nguyễn Tấn Trần Minh Khang

Khoa CNTT-ĐH.KHTN

4.5 DataColumn

35

ThS. Nguyễn Tấn Trần Minh Khang

GV. Trương Phước Lộc

36

ThS. Nguyễn Tấn Trần Minh Khang

6


01/10/2010


Khoa CNTT-ĐH.KHTN

4.6 DataRelation

GV. Trương Phước Lộc

Khoa CNTT-ĐH.KHTN

4.6 DataRelation

37

ThS. Nguyễn Tấn Trần Minh Khang

GV. Trương Phước Lộc

38

Khoa CNTT-ĐH.KHTN

4.6 DataRelation

▫ Đị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 MasterDetail.

39

ThS. Nguyễn Tấn Trần Minh Khang

5. MANAGED PROVIDER

COMPONENT

Khoa CNTT-ĐH.KHTN

• 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
Command
DataReader
DataAdapter

GV. Trương Phước Lộc

Khoa CNTT-ĐH.KHTN

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.
• Với DataRelation người lập trình có thể:

GV. Trương Phước Lộc


ThS. Nguyễn Tấn Trần Minh Khang

41

ThS. Nguyễn Tấn Trần Minh Khang

• 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.

GV. Trương Phước Lộc

40

ThS. Nguyễn Tấn Trần Minh Khang

Khoa CNTT-ĐH.KHTN

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
System.Data.
SqlClient

Chứa các lớp chia sẻ của .NET Data Providers.

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.

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

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.

42

ThS. Nguyễn Tấn Trần Minh Khang


7


01/10/2010

Khoa CNTT-ĐH.KHTN

Câu hỏi

GV. Trương Phước Lộc

43

ThS. Nguyễn Tấn Trần Minh Khang

8



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×