1
LHU
LHU
L
L
Â
Â
P T
P T
RI
RI
NH
NH
WEB ASP.NET
WEB ASP.NET
Tr
Tr
ng
ng
a
a
i H
i H
o
o
c L
c L
a
a
c H
c H
ô
ô
ng 2009
ng 2009
-
-
2010
2010
Ts. V
Ts. V
u
u
c Lung
c Lung
Ks. H
Ks. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
Ks. P
Ks. P
han H
han H
u Ti
u Ti
ê
ê
p
p
X
X
Lý D
Lý D
Li
Li
u V
u V
i ADO.NET
i ADO.NET
Chng
Chng
4:
4:
http:// lhu.edu.vn
http:// lhu.edu.vn
2
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
N
N
i dung ch
i dung ch
í
í
nh
nh
Gii thiu v ADO.NET
Các đi tng trong ADO.NET
iu khin liên kt d liu
http:// lhu.edu.vn
http:// lhu.edu.vn
3
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
Gi
Gi
i thi
i thi
u v
u v
ADO.NET
ADO.NET
ADO.NET (Active Data Object) là mt phn ca .NET
Framework, cung cp các dch v x lý d liu
Làm vic vi d liu không kt ni
D liu đc lu tr trong mt CSDL thu nh gi là DataSet
=>tng tc đ tính toán, gim s dng tài nguyên trên
Database server.
Kh nng x lý d liu dng chun XML =>làm vic vi nhiu
ng dng khác
http:// lhu.edu.vn
http:// lhu.edu.vn
4
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
Gi
Gi
i thi
i thi
u v
u v
ADO.NET
ADO.NET
http:// lhu.edu.vn
http:// lhu.edu.vn
5
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
Gi
Gi
i thi
i thi
u v
u v
ADO.NET
ADO.NET
Kin trúc ADO.NET có hai đ i tng chính: Dataset (data
table) v à .NET data provider (Data Adapter, DataReader,
Command, Connection)
Dataset lu data t Database
nhn data t CSDL, DataAdapter dùng câu lnh SELECT
trong Command, đ cp nht data dùng INSERT, UPDATE,
DELETE
http:// lhu.edu.vn
http:// lhu.edu.vn
6
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
Gi
Gi
i thi
i thi
u v
u v
ADO.NET
ADO.NET
Các thành phn trong ADO.NET
DataSet
DataTable
DataView
DataRow
DataColumn
DataRelation
http:// lhu.edu.vn
http:// lhu.edu.vn
7
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
C
C
á
á
c th
c th
à
à
nh ph
nh ph
n trong ADO.NET
n trong ADO.NET
Managed provider component: gm DataAdapter, DataReader
gi nhim v l àm vic trc tip nh tp tin, database,…
Content component: gm Dataset, DataTable, đi din cho d
liu thc s cn làm vic.
DataReader là đi tng mi, giúp vic truy xut d liu nhanh
chóng nhng ch đc phép đc và di chuyn ti
Dataset cng là đi tng mi, không ch là d liu, Dataset còn
có th coi là mt bn sao gn nh ca CSDL trong b nh vi
nhiu bng và có các mi quan h. Dataset h tr XML thông
qua đi tng XMLDataDocument.
DataAdapter là đ i tng kt ni gia DataSet và CSDL. Nó
gm Connection v à Commmand , đ cung cp d liu cho
Dataset, cng nh cp nht d liu t DataSet xung CSDL.
http:// lhu.edu.vn
http:// lhu.edu.vn
8
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
C
C
á
á
c th
c th
à
à
nh ph
nh ph
n trong ADO.NET
n trong ADO.NET
http:// lhu.edu.vn
http:// lhu.edu.vn
9
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
C
C
á
á
c th
c th
à
à
nh ph
nh ph
n trong ADO.NET
n trong ADO.NET
http:// lhu.edu.vn
http:// lhu.edu.vn
10
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
C
C
á
á
c th
c th
à
à
nh ph
nh ph
n trong ADO.NET
n trong ADO.NET
DataSet:
DataSet:
DataSet dùng đ cha d liu ly t CSDL ln ( SQL, Aceess)
sau đó mi thông tin cn thit s đc truy xut t DataSet
Nói 01 cách khác DataSet là CSDL thu nh t CSDL ln
Trong Dataset s cha các bng là thông tin mà chúng ta cn
ly.Trong DataSet s có nhiu DataTable v à các mi quan h
gia chúng đi din bi các DataRelation
Dataset ging nh là hình nh v CSDL trong b nh .
http:// lhu.edu.vn
http:// lhu.edu.vn
11
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
C
C
á
á
c th
c th
à
à
nh ph
nh ph
n trong ADO.NET
n trong ADO.NET
Li ích trong vic s dng DataSet
Hoàn toàn trong b nh: Mt Table trong Dataset là mt Array of
Rows, nên ta có th dùng thng (direct access) m t record b ng cách
nói đn cái Row cha nó, ch không cn phi dùng MoveNext,
MovePrev,.v.v.
Làm nh công tác ca Database server. Tt c mi công tác sa đi d
liu đu đc thc hin trong Dataset.
Dataset có th đ c biu din bng mt XML (eXtensible Marked
Language)
http:// lhu.edu.vn
http:// lhu.edu.vn
12
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
C
C
á
á
c th
c th
à
à
nh ph
nh ph
n trong ADO.NET
n trong ADO.NET
DataTable:
DataTable:
DataTable là 01 thành phn trong Dataset
DataTable cha d liu ca 01 bng trong Dataset và thuc lp
DataTable.Datable bao gm
• Tp hp Columns thuôc lp DataColumnCollectiontrong đó mi ct
là mt đi tng thuc lp DataColumn
• Tp hp Rows thuôc lp DataRowCollectiontrong đó mi ct là mt
đi tng thuc lp DataRow
http:// lhu.edu.vn
http:// lhu.edu.vn
13
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
C
C
á
á
c th
c th
à
à
nh ph
nh ph
n trong ADO.NET
n trong ADO.NET
DataRelation:
DataRelation:
Dataset bao gm tp hp các table đi din bi các đi tng
DataTable và quan h gia các table đó đ i din bi các đi
tng DataRelation
DataRelation, ngi dùng có th:
• nh ngha mi quan h gia các bng
• Duyt d liu trong các bng theo mi quan h Master – Detail
aMt đi tng kiu DataRelation bao gm các thông tin:
• Tên ca Parent Table và Child Table
• Các column trong DataRelation đi din cho PrimaryKey trong
Parent và ForeignKey trong Child Table
http:// lhu.edu.vn
http:// lhu.edu.vn
14
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
C
C
á
á
c th
c th
à
à
nh ph
nh ph
n trong ADO.NET
n trong ADO.NET
DataRelation:
DataRelation:
Vi DataRelation, ADO.NET cung c p cho ng i lp tr ình mt
cách thc mi đ x lý d liu. D liu vn nm trong các bng
thay vì b gom t nhiu bng thành 01 RecordSet nhng v n có
th truy cp d dàng và hiu qu.
Ví d: trong parent table có 10 dòng, mi dòng trong Parent table
có 10 dòng con trong Child table
Cách c: dùng 01 truy vn kt hp hai bng đ ly 1 ln 100
mu tin hay dùng 02 RecordSet, mi ln RecordSet Master thay
đi mu tin hin hành thì m li RecordSet Detail
http:// lhu.edu.vn
http:// lhu.edu.vn
15
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
C
C
á
á
c th
c th
à
à
nh ph
nh ph
n trong ADO.NET
n trong ADO.NET
DataRelation:
DataRelation:
Khuyt đim: d liu b ly tha vì không chc ngi dùng s đi
xem ht 100 mu tin đã ly và khó thao tác thêm, sa, xóa, Vi
cách th 2, d liu ch ly va đ nhng ch m hn vì mi ln
thay đi Master li phi truy vn d liu cho Detail
Phng ph
Phng ph
á
á
p m
p m
i: Ch
i: Ch
c
c
n l
n l
y d
y d
li
li
u 01 l
u 01 l
n duy nh
n duy nh
t
t
nhng d
nhng d
li
li
u v
u v
n n
n n
m trong c
m trong c
á
á
c b
c b
ng, d
ng, d
d
d
à
à
ng thao t
ng thao t
á
á
c x
c x
lý
lý
http:// lhu.edu.vn
http:// lhu.edu.vn
16
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
C
C
á
á
c th
c th
à
à
nh ph
nh ph
n trong ADO.NET
n trong ADO.NET
R
R
à
à
ng Bu
ng Bu
c Trên Quan H
c Trên Quan H
:
: ADO.NET ch cho phép xác đnh 02
loi ràng buc
UniqueConstraint: đm bo tính duy nht v giá tr ca mt ct trong
table
ForeignKeyContraint: ch ra cách ng dng s thc hin khi cp nht
hay xóa d liu trên bng có quan h vi bng khác
Các giá tr ca ForeignKeyContraint là:
None: không làm gì c
Cascade: ph thuc vào dòng trên parent table s b cp nht hay
xóa
SetDefault:giá tr ca ct khóa ngoi trên detail table đc đt v giá
tr mc đnh khi dòng trên parent table b xóa
SetNull: ging SetDefault , giá tr đc đt là NULL
http:// lhu.edu.vn
http:// lhu.edu.vn
17
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
C
C
á
á
c th
c th
à
à
nh ph
nh ph
n trong ADO.NET
n trong ADO.NET
DataView:
DataView:
a
aDataView gn ging vi khái nim RecordSet ca ADO. Trên
mt DataTable có th to nhiu DataView vi các điu kin lc,
sp xp d liu khác nhau. Trên DataView ta có th xem hay
thay đi giá tr các mu tin
DataView ca ADO.NET có nhim v kt ni vi các control ca
WinForm và Web Form
http:// lhu.edu.vn
http:// lhu.edu.vn
18
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
i
i
m n
m n
i b
i b
t trong ADO.NET
t trong ADO.NET
Tng tác gia nhiu h thng khác nhau (Interoperability)
H tr nhiu ngi dùng (Scanlability)
M rng kh nng làm vic vi CSDL (Productivity)
Hiu qu cao trong x l ý d liu (Performance)
C ch làm vic ADO.NET:
X dng d liu dng disconnect data
Client to kt ni vi server đ ly d liu
Server gi d liu v cho Client
Client ngt kt ni vi Server
Khi cn cp nht d liu, kt ni gia Client và Server đ c
phc hi
Thi gian kt ni gia Client và Server không còn lâu nh trc
http:// lhu.edu.vn
http:// lhu.edu.vn
19
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
C
C
á
á
c đ
c đ
i t
i t
ng trong ADO.NET
ng trong ADO.NET
Khai báo và s dng không gian tên (namespace)
<%@ Import Namespace="System.Data.OleDb" %>
-Các đi tng và kiu c bn phc
v ADO.NET
-Các l p đc thit k đ làm vi c
vi bt k ngun d liu nào
- Thit k ti u cho CSDL SQL
server
-System.Data
-System.Data.OleDb
-System.Data.SqlClient
Mc đíchNamespace
http:// lhu.edu.vn
http:// lhu.edu.vn
20
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
i t
i t
ng Connection
ng Connection
Data Provider:
Data Provider có sn trong ADO.NET
• System.Data.OleDb
• System.Data.SqlClient
ng vi mi tên min có mt connection tng ng
System.Data.OleDb.OleDbConnection
System.Data.SqlClient.SqlConnection
C OleDBConnection và SQLConnection đu có các thuc tính
và phng th c ging nha u nh ConnectionString , State hay
Open
- Các Provider mà OLEDB và SQL có th kt ni d liu:
SQLOLEDB: OLEDB Provider ca Microsoft cho SQL Server
MSDAORA: OLEDB Provider ca Microsoft cho Oracle
JOLT: OLEDB Provider cho Jet
http:// lhu.edu.vn
http:// lhu.edu.vn
21
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
i t
i t
ng Connection
ng Connection
Connection String:Cung cp thông tin cn thit cho kt ni.
Trc khi thc hin kt ni cn thông báo các thông tin cn
thit cho Connection thông qua thuc tính Connection String.
Cách khai báo thay đi tùy thuc vào Data Provider.
Ph thuc vào Data Provider
OleDB Provider có th gm các thành phn:
http:// lhu.edu.vn
http:// lhu.edu.vn
22
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
i t
i t
ng Connection
ng Connection
Ví d 1: To connection đn CSDL Microsoft Access
Ví d 2: To connection đn CSDL SQL Server
http:// lhu.edu.vn
http:// lhu.edu.vn
23
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
i t
i t
ng Connection
ng Connection
http:// lhu.edu.vn
http:// lhu.edu.vn
24
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
i t
i t
ng Connection
ng Connection
Ví d 3: To connection đn CSDL SQL Server
http:// lhu.edu.vn
http:// lhu.edu.vn
25
Ts. V
Ts. V
u
u
c Lung
c Lung
–
–
Ks
Ks
. H
. H
uy
uy
nh Cao Tu
nh Cao Tu
â
â
n
n
-
-
Ks
Ks
. P
. P
han H
han H
u Ti
u Ti
ê
ê
p
p
i t
i t
ng Connection
ng Connection
Ví d 4: To connection đn CSDL SQL Server