You are on page 1of 9

Bi 8

Gii thiu v ADO.NET


Mc ch ca bi: Sau bi hc ny, ngi hc c th
- Lit k c cc thnh phn chnh trong kin trc ca ADO.N!
- N" c cc " i#$ ca ADO.N! % nh&ng i#$ khc 'o %(i ADO
- )* t+ c ch,c n-ng ca cc .i tng /0(p1 2onn3ction4 DataA5apt3r4
Data2o$$an54 Data63t4 Data73a53r4 DataGrid ca ADO.N!.
Ni dung:
1. Gii thiu v ADO.NET (ADO = ActiveX Data Object)
- ADO.N! 0 t t!" c#c $%" n8$ trong 9: th %in 0(p c; '< ca .N! =ra$3>ork4
cho ph?p cc ,ng 5@ng >in5o>' /nh 2A4 BC.N!1 haD ,ng 5@ng >39 /nh A6E.N!1
thao tc 5F 5ng %(i cc ng"Gn 5& 0i".
- )@c ti" chnh ca ADO.N! 0H
2"ng cIp cc 0(p # thao tc 26DL trong c+ hai $*i trJng 0 phi kt n.i
/Di'con3ct35 5ata1 % kt n.i /2onn3ct35 5ata1.
!ch hp chKt chL %(i M)L /Nt3n'i903 )ark"p Lang"ag31
!;ng tc %(i nhiO" ng"Gn 5& 0i" th*ng P"a $* t+ 5& 0i" ch"ng.
!.i " tr"D cQp ng"Gn 5& 0i" /OL DC R 6SL '3r%3r1.
L$ %ic trn $*i trJng Tnt3rn3t /$*i trJng phi kt n.i U Di'conn3ct35
3%iro$3nt1.
- 2c 0(p ca ADO.N! c Kt trong Na$3'pac3 0 6D't3$.DataV 6D't3$.Data.o0359
- ADO.N! 9ao gG$ W Ero%i53r /W 9: th %in1 /thJng 5Xng1 # thao tc %(i cc 26DL
0H OL DC Ero%i53r /n8$ trong 6D't3$.Data.OLDC1 5Xng # tr"D N"It n b&t '(
)SD* n+ c h, tr- .*/D0Y 6SL Ero%i53r /n8$ trong 6D't3$.Data.6SL20i3nt1
ch"Dn 5Xng # tr"D N"It n 26DL 6SL 63r%3r /Zh*ng P"a OL DC nn nhanh h;n1.
- B[ tr ca ADO.N! trong kin trc ca .N! =ra$3>ork
V tr ca ADO.NET trong kin trc ca .net Framework
!\ kin trc ta thID r8ngH ADO.N! 0 $:t thnh phn n:i t]i /1 ca .N! ^ra$3>ork4
5o %QD n_ c_ th# c '` 5@ng trong tIt c+ cc ng*n ng& ha tr .N! nh 2A4
BC.N!b $ kh*ng c_ 'c khc 9it no /!,c 0 cc ch,c n-ng cdng nh cch '` 5@ng
hon ton gi.ng nha"1.
2. So s!h ADO vi ADO.NET
- W $* henh 0Qp trenh t;ng tc nha"
- ADO.N! c thit k 0$ %ic %(i c+ 5& 0i" phi kt n.i trong $*i trJng a
tng /)"0ti-!i3r1. N_ '` 5@ng M)L # trao fi 5& 0i" phi kt n.i4 5o %QD 5F
5ng khi giao tip gi&a cc ,ng 5@ng kh*ng ph+i trn nOn >in5o>'.
- ADO.N! 0 thnh phn n:i t]i /c_ 'gn1 trong .N! =ra$3>ork4 5o %QD 5F 5ng
khi pht tri#n 98ng nhiO" ng*n ng& khc nha".
- ADO.N! ha tr M)L hon ton /ADO the kh*ng14 nghia 0 chng ta c_ th# n]p
5& 0i" t\ $:t tp M)L % thao tc nh $:t 26DL4 'a" _ cdng c_ th# 0" kt
P"+ ngc tr< 0]i tp M)L.
- ADO 0" tr& 5& 0i" 5(i 5]ng nh[ phjn nn c_ th# 9[ chKn 9<i =ir3>a004 ckn
ADO.N! 0" tr& 5& 0i" 5(i 5]ng M)L nn c_ th# i P"a $:t cch 5F 5ng.
". #c th$!h %h&! ch'!h c(a ADO.NET
12 )+nn3cti+n
42 )+and
l. Datar3ad3r
52 Data6da"t3r
72 DataS3t
)i*u+e ,-1. .i*h -/eve/ a+chitectu+e o0 ADO.NET
)59Y $5^4
M)Lb
73cor5'3t
*** Qui c: ADO.N! c"ng cIp cho ta $:t '. Ero%i53r # 0$ %ic hi" P"+ %(i cc
26DL khc nha". !"D nhin4 %O pha 0Qp trenh the cch th,c '` 5@ng chng rIt gi.ng
nha". Do vy, trong bi ging ny ch gii thiu Provider l OLD! /mjD 0 Ero%i53r
a n-ng %e c_ th# tr"D cQp n rIt nhiO" 26DL khc nha" nh Acc3''4 6SL4 Orac03b14
ckn cc Ero%i53r khc # 9]n nc tc nc th$.
B 5@ 'a" jD cho thID ro iO" nDH
821 )+nn3cti+n
p 2h,c n-ngH L .i tng c_ nhi$ %@ thcc hin kt n.i n 2; '< 5& 0i" # cc .i
tng nh 2o$$an5 thao tc %(i 26DL th*ng P"a 2onn3ction nD.
p Zhai 9o /c_ nhiO" cch1H
Imports System.Data.SqlClient
Imports System.Data.OleDb
Public Class ADODemo
Private Cnn1 As New OleDbConnection()
Private Cnn As New OleDbConnection(!Provi"er # O$%D&...!)
Private Cnn As OleDbConnection
Private Sub ADODemo'$oa"(&y(al Sen"er As Ob)ect *)
Dim S as Strin+ # ,Provi"er#-icroso.t./et.O$%D&.0.12Data Source#!C34N5IND.-D&!
Cnn # New OleDb.OleDbConnection(S)
%n" Sub
%n" Class

9 M: ';t n<i:
2nn.."3n/1H )< kt n.i n 26DL 5o ta chq [nh trong 2onn3ction6tring
9 =i tra ';t n<i : 6a" khi gni ph;ng th,c Op3n4 c_ th# N3$ r kt n.i thanh c*ng
haD kh*ng th*ng P"a th":c tnh 6tat3 ca 2onn3ctionH
"# $nn%&t'te ( ) *hen +,g!o- ./0t n1i thnh c2ng 34
p m_ng kt n.iH
2nn.)$+>3/1
!hJng the nn %it nh 'a" # trnh 0ai H T^ 2nn.6tat3 s t !h3n 2nn.20o'3/1
Imports System.Data.SqlClient
Imports System.Data.OleDb
Public Class ADODemo
Private Cnn As OleDb.OleDbConnection
677 89o :;t n<i =;n cs"l nwin".m"b
Private Sub ADODemo'$oa"(&y(al sen"er*)
Cnn # New
OleDb.OleDbConnection(!Provi"er#-icroso.t.
/et.O$%D&.0.12Data Source#C34N5IND.-D&!)
Cnn.Open()

I. Cnn.State # ConnectionState.Open 8>en -s+&o?(!Success@!)
%n" Sub
677 A>i =Bn+ Cn+ "Dn+ (Eorm bF =Bn+)
Private Sub ADODemo'EormClosin+(&y(al sen"er As*)
I. Cnn.State # ConnectionState.Open 8>en
Cnn.Close()
%n" I.
%n" Sub
%n" Class
824 )+and
- 2*ng 5@ng H DXng # thcc hin cc cj" 0nh 6SL thao tc %(i 26DL4 nh H Tn'3rt4
up5at34 6303ct4 D303t3b
2_ W cch # t]o .i tng 2o$$an5
2_ v cch # thcc thi $:t 0nh th*ng P"a .i tng 2o$$an5
l.t.t !]o co$$an5 t\ ph;ng th,c t]o 5cng /!hit 0Qp1
/// To mt Command vi cu lnh l Select * . Command ny s
/// s d!n" Connection c# t$n l Cnn %& th'c thi cu lnh.
Private Cm" As New OleDbComman"(GCHu lIn> SJ$KLG&i;n Conn =M cBK)
l.t.W !]o co$$an5 t\ ph;ng th,c 2r3at32o$$an5 ca .i tng 2onn3ction
Private Cnn As new OleDbConnection
Private Cm" As OleDbComman"
(/// T)*c +hi ",i -h*.n" th/c ny0 %1m 21o Cnn %3 4-en CS56
Private Sub 8aoComman"()
Cm" # Cnn.CreateCommand
Cm".Comman"8e?t # !Select count(N) .rom Customers!
-s+&o?(!S< bOn +>i 3 ! P Cm".%?ecuteScalar)
%n" Sub
l.t.l !]o 2o$$an5 98ng cch Kt cc th":c tnh 'a" khi khai 9o
Public Class ADODemo
Private Cnn As OleDbConnection
Private Cm" As OleDbComman"
Private Sub ADODemo'$oa"(&y(al sen"er*)
Cnn # New OleDb.OleDbConnection '
(!Provi"er#-icroso.t./et.O$% D&.0.12Data Source#C34N5IND.-D&!)
Cnn.Open()

Cm" # New OleDbComman"
Cm".Comman"8ype # Comman"8ype.8e?t Q777 -Rc =Fn>
Cm".Connection # Cnn
Cm".Comman"8e?t # !Select count(N) .rom Customers!
-s+&o?(!S< bOn +>i 3 ! P Cm".%?ecuteScalar)
N3c"t373a53r
2o"nt4 '"$4b.
Tn'3rt4 "p5at34 5303t3
b
/wp 5@ng cho 6SL1
%n" Sub
%n" Class
Thc hin cu lnh thng qua i tng Command
NN $Su T3 C>U cB t>V t>Wc >iIn =SXc cHu lIn> n;u n>S
Comman" =M =SXc +Yn vZi m[t Connection >Xp lI (8Cc =M :;t
n<i =;n CSD$)
- !hcc thi 98ng ph;ng th,c /?3cut3@3ad3r
Eh;ng th,c nD 'L tr+ %O $:t tQp cc 9+n ghi4 n_ t;ng ;ng %(i $:t 73cor5'3t %
thJng c '` 5@ng # thcc thi cc cj" 0nh tr"D %In nh 6L2!. Zt P"+ c_ th# 0"
tr& trong .i tng Data73a53r # thao tc.
2 php H 1i2!3Data4ea5e+ = #65.E7ecute4ea5e+ ()
- !hcc thi 98ng ph;ng th,c H /?3cut3Sca$ar/1
Eh;ng th,c nD 'L tr+ %O gi tr[ ca phn t` th":c hng " tin % c:t " tin trong
9+ng kt P"+
Eh;ng th,c nD thJng c '` 5@ng # thcc hin cc cj" 0nh $ kt P"+ tr+ %O chq c_
t hng % t c:t /% 5@ cj" 0nh 6303ct 2o"nt/x1 =ro$ 2"'to$3r'1
- !hcc thi 98ng ph;ng th,c /?3cut3N+nAu3ryH mc '` 5@ng # thcc thi cc cj"
0nh $ kh*ng c_ gi tr[ tr+ %O nh H Tn'3rt4 up5at34 D303t3 b
- !hcc thi 98ng ph;ng th,c /?3cut3BM*@3ad3r H !]o $:t 9: nc t\ ^i03 M)L.
Eh;ng th,c nD kh*ng c_ trong o032o$$an54 chq c_ trong 'P02o$$an5.
828 Data@3ad3r
2*ng 5@ngH DXng # _n nhQn kt P"+ tr+ %O t\ ph;ng th,c N3c"t373a53r ca .i
tng 2o$$an5. N_ t;ng tc nh $:t 73cor5'3t ca ADO4 t"D nhin 5& 0i" 0
73a5on0D % chq nc th3o chiO" tin.
- Zhai 9oH
Di C0i;n Data@3ad3rD 6> +$3dbData@3ad3r EFFF'hGng c n3H
- LID kt P"+ t\ 2o$$an5
C0i;n Data@3ad3r D I C0i;n )+andD2/?3cut3@3ad3rJK
B 5@H
Q777 \]c c^c :;t quO t_ viIc t>Wc t>i cHu lIn> c`a Comman"
Private Sub Dataaea"erDemo()
Dim cm" As New OleDbComman"(!Select N .rom
%mployees!L Cnn)
Dim "at as ole"bDataaea"er
Dat # cm".%?ecuteaea"er
Q777 biVn t>F :;t quO
6777 DuyIt c^c bOn +>i =M =SXc lSu tron+ "atarea"er
Do 5>ile Dat.aea" # 8rue
-s+&o?(Dat(!Eirstname!) P vb8ab P Dat(!8itle!))
$oop
cm".Dispose()
Dat.Close()
%n" Sub
82824 DataS3t .bL3ct
a1 2*ng 5@ngH 0" tr& $:t tQp cc 9+ng /!a9031 % c"ng cIp $:t '. ph;ng th,c4 th":c
tnhb # thao tc 5& 0i" $ n_ 0" tr&.
- 2c 9+ng trong Data63t c 0" tr& trong $:t tQp hp c_ tn 0 b. y
- )ai 9+ng trong Data63t 0 $:t .i tng Data!a903. )ai !a903 nD c_ th# 0" tr& $:t
9+ng 5& 0i" ca DataCa'3/ Acc3'' hoKc 6SL 63r%3r1.
91 !r"D N"It n cc 9+ng
2 phpH z!n Data'3t{.!a903'/2hq '. V hoKc tn ca 9+ng1
B 5@H D'.!a903'/|1 hoKc D'.!a903'/}D66B~1
l.l.t Data!a903
l.l.W Data 7o>
|
t
W
DataS3t .bL3ct
l.l.l Data2o0"n$
825 Data6da"t3r
2*ng 5@ngH 2_ ch,c n-ng nh $:t chic c" n.i gi&a ng"Gn /tp1 5& 0i" % cc 9+ng
c cach35 trong 9: nh( /.i tng Data63t.1. DataA5apt3r nhQn 5& 0i" %o $:t
5ata'3t haD 5atata903 t\ $:t ng"Gn 5& 0i" '` 5@ng ph;ng th,c Fill(). 2kn khi
cQp nhQt 5& 0i" ngc tr< 0]i ng"Gn 5& 0i" the DataA5apt3r '` 5@ng ph;ng th,c
M"dat3.
- !]o .i tng DataA5apt3r4 c_ W cchH hoKc 0 t]o t\ .i tng 2onn3ction %\a
c $< hoKc t]o t\ .i tng 2onn3ction $(i.
!]o DataA5apt3r t\ $:t 2onn3ction r $< /tGn t]i1 tr(c _H
Public Sub 8aoA"apter()
Dim ole"bCnn # New OleDbConnection()
ole"bCnn.ConnectionStrin+ # !Provi"er#*!
ole"bCnn.Open()
Dim cm" As New OleDbComman"()
cm".Connection # ole"bCnn
cm".Comman"8e?t # !Select N .rom aut>ors!
Dim oleA"apt As New OleDbDataA"apter
oleA"apt.SelectComman" # cm" 677 C>]n lIn> ncm
tron+ cm" =V t>ao t^c
%n" Sub
!]o t\ $:t 2onn3ction cha c $<
Sub 8aoA"apter(er()
Dim Cnn As New OleDbConnection
Cnn.ConnectionStrin+ # strCon
Dim A"apt As New OleDbDataA"apter(!Select N .rom
Customers!L Cnn)
%n" Sub
- L" tr& kt P"+ %o trong Data63t
A5apt.=i00/zCin 5ata'3t V !n ca Zho{4 }!n cho 9+ng~1

You might also like