Windows Application
Windows Application
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n
n
Quang Minh
Quang Minh
1
1
C# and .NET Framework
C# and .NET Framework
B
B
à
à
i 5:
i 5:
Windows Application
Windows Application
Đo
Đo
à
à
n Quang Minh
n Quang Minh
http
http
://www.VTPortal.net
://www.VTPortal.net
Last update:
Last update:
30. December 2006
30. December 2006
Windows Application
Windows Application
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n
n
Quang Minh
Quang Minh
2
2
M
M
ụ
ụ
c l
c l
ụ
ụ
c
c
Windows Application in .NET
Windows Application in .NET
Windows Forms
Windows Forms
Windows Controls
Windows Controls
Custom Controls
Custom Controls
Windows Application
Windows Application
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n
n
Quang Minh
Quang Minh
3
3
Windows Application in .NET
Windows Application in .NET
L
L
ị
ị
ch s
ch s
ử
ử
ứ
ứ
ng d
ng d
ụ
ụ
ng trên Windows
ng trên Windows
–
–
C
C
ó
ó
hai lo
hai lo
ạ
ạ
i
i
ứ
ứ
ng d
ng d
ụ
ụ
ng: rich client v
ng: rich client v
à
à
thin client.
thin client.
–
–
Ứ
Ứ
ng d
ng d
ụ
ụ
ng rich client c
ng rich client c
ó
ó
nhi
nhi
ề
ề
u ưu đi
u ưu đi
ể
ể
m: giao di
m: giao di
ệ
ệ
n đ
n đ
ẹ
ẹ
p, t
p, t
ố
ố
c đ
c đ
ộ
ộ
x
x
ử
ử
lý cao, t
lý cao, t
ậ
ậ
n d
n d
ụ
ụ
ng đư
ng đư
ợ
ợ
c c
c c
á
á
c s
c s
ứ
ứ
c m
c m
ạ
ạ
nh c
nh c
ủ
ủ
a h
a h
ệ
ệ
đi
đi
ề
ề
u h
u h
à
à
nh.
nh.
–
–
C
C
á
á
c
c
ứ
ứ
ng d
ng d
ụ
ụ
ng rich client đư
ng rich client đư
ợ
ợ
c xây d
c xây d
ự
ự
ng d
ng d
ự
ự
a trên c
a trên c
á
á
c h
c h
à
à
m API
m API
(Application Programming Interface). Do t
(Application Programming Interface). Do t
í
í
nh ph
nh ph
ứ
ứ
c t
c t
ạ
ạ
p, nên xu
p, nên xu
ấ
ấ
t
t
hi
hi
ệ
ệ
n m
n m
ộ
ộ
t s
t s
ố
ố
môi trư
môi trư
ờ
ờ
ng l
ng l
ậ
ậ
p tr
p tr
ì
ì
nh kh
nh kh
á
á
c (Visual Basic, MFC trên
c (Visual Basic, MFC trên
Visual C++).
Visual C++).
–
–
.NET cung c
.NET cung c
ấ
ấ
p m
p m
ộ
ộ
t gi
t gi
ả
ả
i ph
i ph
á
á
p đơn gi
p đơn gi
ả
ả
n v
n v
à
à
hi
hi
ệ
ệ
u qu
u qu
ả
ả
trong vi
trong vi
ệ
ệ
c
c
l
l
ậ
ậ
p tr
p tr
ì
ì
nh c
nh c
á
á
c
c
ứ
ứ
ng d
ng d
ụ
ụ
ng rich client trên Windows
ng rich client trên Windows
namespace
namespace
System.Windows.Forms
System.Windows.Forms
–
–
Cung
Cung
c
c
ấ
ấ
p
p
c
c
á
á
c
c
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
đ
đ
ể
ể
l
l
à
à
m
m
vi
vi
ệ
ệ
c
c
v
v
ớ
ớ
i
i
Windows Form
Windows Form
Cho
Cho
ph
ph
é
é
p
p
x
x
ử
ử
lý
lý
c
c
á
á
c
c
s
s
ự
ự
ki
ki
ệ
ệ
n
n
chu
chu
ộ
ộ
t
t
v
v
à
à
b
b
à
à
n
n
ph
ph
í
í
m
m
Cho
Cho
ph
ph
é
é
p
p
x
x
ử
ử
lý
lý
c
c
á
á
c
c
n
n
ú
ú
t
t
l
l
ệ
ệ
nh
nh
,
,
c
c
á
á
c
c
h
h
ộ
ộ
p
p
so
so
ạ
ạ
n
n
th
th
ả
ả
o
o
,
,
c
c
á
á
c
c
thanh
thanh
cu
cu
ộ
ộ
n
n
,
,
c
c
á
á
c
c
c
c
ử
ử
a
a
s
s
ổ
ổ
,
,
…
…
Windows Application
Windows Application
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n
n
Quang Minh
Quang Minh
4
4
Windows Forms
Windows Forms
L
L
à
à
c
c
á
á
c
c
c
c
ử
ử
a
a
s
s
ổ
ổ
c
c
ủ
ủ
a
a
ứ
ứ
ng
ng
d
d
ụ
ụ
ng
ng
ch
ch
ạ
ạ
y
y
trên
trên
Windows
Windows
–
–
T
T
ạ
ạ
o
o
ứ
ứ
ng
ng
d
d
ụ
ụ
ng
ng
rich client
rich client
C
C
ó
ó
í
í
t
t
nh
nh
ấ
ấ
t
t
m
m
ộ
ộ
t
t
form
form
k
k
ế
ế
th
th
ừ
ừ
a
a
t
t
ừ
ừ
Form.
Form.
Trên
Trên
form
form
c
c
ó
ó
th
th
ể
ể
ch
ch
ứ
ứ
a
a
c
c
á
á
c
c
control.
control.
M
M
ộ
ộ
t
t
control
control
c
c
ó
ó
th
th
ể
ể
ph
ph
á
á
t
t
sinh
sinh
s
s
ự
ự
ki
ki
ệ
ệ
n
n
:
:
đ
đ
ể
ể
x
x
ử
ử
lý
lý
ph
ph
ả
ả
i
i
handler
handler
s
s
ự
ự
ki
ki
ệ
ệ
n
n
.
.
Thay
Thay
đ
đ
ổ
ổ
i
i
di
di
ệ
ệ
n
n
m
m
ạ
ạ
o
o
c
c
ủ
ủ
a
a
form
form
ho
ho
ặ
ặ
c
c
control
control
b
b
ằ
ằ
ng
ng
c
c
á
á
ch
ch
thay
thay
đ
đ
ổ
ổ
i
i
c
c
á
á
c
c
thu
thu
ộ
ộ
c
c
t
t
í
í
nh
nh
.
.
Thu
Thu
ộ
ộ
c
c
t
t
í
í
nh
nh
quan
quan
tr
tr
ọ
ọ
ng
ng
(
(
m
m
ớ
ớ
i
i
): Anchor
): Anchor
–
–
Menu
Menu
M
M
ộ
ộ
t
t
ứ
ứ
ng
ng
d
d
ụ
ụ
ng
ng
c
c
ó
ó
th
th
ể
ể
c
c
ó
ó
h
h
ệ
ệ
th
th
ố
ố
ng
ng
menu. Menu
menu. Menu
c
c
ó
ó
th
th
ể
ể
c
c
ó
ó
nhi
nhi
ề
ề
u
u
l
l
ớ
ớ
p
p
.
.
Thu
Thu
ộ
ộ
c
c
t
t
í
í
nh
nh
quan
quan
tr
tr
ọ
ọ
ng
ng
: Name
: Name
v
v
à
à
Text.
Text.
S
S
ự
ự
ki
ki
ệ
ệ
n
n
quan
quan
tr
tr
ọ
ọ
ng
ng
: click
: click
Menu
Menu
c
c
ó
ó
th
th
ể
ể
thay
thay
đ
đ
ổ
ổ
i
i
thu
thu
ộ
ộ
c
c
t
t
í
í
nh
nh
l
l
ú
ú
c
c
run
run
-
-
time
time
–
–
Context menu
Context menu
M
M
ộ
ộ
t
t
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
c
c
ó
ó
th
th
ể
ể
c
c
ó
ó
menu
menu
ng
ng
ữ
ữ
c
c
ả
ả
nh
nh
.
.
Menu
Menu
ng
ng
ữ
ữ
c
c
ả
ả
nh
nh
ho
ho
ạ
ạ
t
t
đ
đ
ộ
ộ
ng
ng
gi
gi
ố
ố
ng
ng
menu
menu
thông
thông
thư
thư
ờ
ờ
ng
ng
.
.
–
–
B
B
à
à
i
i
t
t
ậ
ậ
p
p
:
:
xây
xây
d
d
ự
ự
ng
ng
tr
tr
ì
ì
nh
nh
Notepad
Notepad
Windows Application
Windows Application
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n
n
Quang Minh
Quang Minh
5
5
Windows Forms
Windows Forms
Dialogs
Dialogs
–
–
Hi
Hi
ể
ể
n
n
th
th
ị
ị
thông
thông
b
b
á
á
o
o
v
v
à
à
nh
nh
ậ
ậ
n
n
tr
tr
ả
ả
l
l
ờ
ờ
i
i
c
c
ủ
ủ
a
a
ngư
ngư
ờ
ờ
i
i
d
d
ù
ù
ng
ng
.
.
–
–
C
C
ó
ó
hai
hai
ki
ki
ể
ể
u
u
Modal
Modal
v
v
à
à
Modeless.
Modeless.
–
–
C
C
ó
ó
th
th
ể
ể
tr
tr
ả
ả
v
v
ề
ề
c
c
á
á
c
c
gi
gi
á
á
tr
tr
ị
ị
: Abort, Cancel, Ignore, No, Yes, None,
: Abort, Cancel, Ignore, No, Yes, None,
Ok, Retry.
Ok, Retry.
–
–
Đ
Đ
ể
ể
hi
hi
ể
ể
n
n
th
th
ị
ị
h
h
ộ
ộ
p
p
tho
tho
ạ
ạ
i
i
,
,
d
d
ù
ù
ng
ng
phương
phương
th
th
ứ
ứ
c
c
Form.ShowDialog
Form.ShowDialog
().
().
Phương
Phương
th
th
ứ
ứ
c
c
n
n
à
à
y
y
s
s
ẽ
ẽ
tr
tr
ả
ả
v
v
ề
ề
gi
gi
á
á
tr
tr
ị
ị
thu
thu
ộ
ộ
c
c
ki
ki
ể
ể
u
u
DialogResult
DialogResult
.
.
Common Dialogs:
Common Dialogs:
h
h
ộ
ộ
p
p
tho
tho
ạ
ạ
i
i
thông
thông
d
d
ụ
ụ
ng
ng
–
–
Windows
Windows
cung
cung
c
c
ấ
ấ
p
p
s
s
ẵ
ẵ
n
n
m
m
ộ
ộ
t
t
s
s
ố
ố
h
h
ộ
ộ
p
p
tho
tho
ạ
ạ
i
i
thông
thông
d
d
ụ
ụ
ng
ng
.
.
Đ
Đ
ó
ó
l
l
à
à
c
c
á
á
c
c
h
h
ộ
ộ
p
p
ch
ch
ọ
ọ
n
n
font,
font,
ch
ch
ọ
ọ
n
n
m
m
à
à
u
u
,
,
m
m
ở
ở
file,
file,
đ
đ
ó
ó
ng
ng
file,
file,
…
…
–
–
M
M
ỗ
ỗ
i
i
h
h
ộ
ộ
p
p
tho
tho
ạ
ạ
i
i
tương
tương
ứ
ứ
ng
ng
v
v
ớ
ớ
i
i
1
1
l
l
ớ
ớ
p
p
trong
trong
namespace Forms,
namespace Forms,
v
v
à
à
c
c
ó
ó
tương
tương
ứ
ứ
ng
ng
c
c
á
á
c
c
thu
thu
ộ
ộ
c
c
t
t
í
í
nh
nh
đ
đ
ặ
ặ
c
c
trưng
trưng
riêng
riêng
bi
bi
ệ
ệ
t
t
.
.
C
C
á
á
c
c
l
l
ớ
ớ
p
p
bao
bao
g
g
ồ
ồ
m
m
:
:
ColorDialog
ColorDialog
,
,
FontDialog
FontDialog
,
,
OpenFileDialog
OpenFileDialog
,
,
SaveFileDialog
SaveFileDialog
,
,
PageSetupDialog
PageSetupDialog
,
,
PrintDialog
PrintDialog
,
,
PrintPreviewDialog
PrintPreviewDialog
.
.
–
–
B
B
à
à
i
i
t
t
ậ
ậ
p
p
:
:
l
l
à
à
m
m
t
t
ố
ố
t
t
hơn
hơn
ứ
ứ
ng
ng
d
d
ụ
ụ
ng
ng
Notepad.
Notepad.
Windows Application
Windows Application
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n
n
Quang Minh
Quang Minh
6
6
Windows Controls
Windows Controls
C
C
ó
ó
r
r
ấ
ấ
t
t
nhi
nhi
ề
ề
u
u
control
control
trong
trong
Windows.
Windows.
M
M
ỗ
ỗ
i
i
control
control
đ
đ
ề
ề
u
u
c
c
ó
ó
th
th
ể
ể
đi
đi
ề
ề
u
u
khi
khi
ể
ể
n
n
thông
thông
qua
qua
c
c
á
á
c
c
phương
phương
th
th
ứ
ứ
c
c
/
/
thu
thu
ộ
ộ
c
c
t
t
í
í
nh
nh
v
v
ớ
ớ
i
i
tên
tên
g
g
ợ
ợ
i
i
nh
nh
ớ
ớ
.
.
–
–
Labels
Labels
–
–
Buttons
Buttons
–
–
Checkboxes
Checkboxes
–
–
Menus
Menus
–
–
Radio buttons
Radio buttons
–
–
Combo boxes
Combo boxes
–
–
Listboxes
Listboxes
–
–
Textboxes
Textboxes
–
–
Tabcontrols
Tabcontrols
–
–
Toolbars
Toolbars
–
–
Tree views
Tree views
Windows Application
Windows Application
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n
n
Quang Minh
Quang Minh
7
7
Windows Controls
Windows Controls
Data Binding
Data Binding
–
–
L
L
à
à
phương
phương
ph
ph
á
á
p
p
g
g
ắ
ắ
n
n
k
k
ế
ế
t
t
d
d
ữ
ữ
li
li
ệ
ệ
u
u
v
v
à
à
o
o
m
m
ộ
ộ
t
t
control
control
M
M
ỗ
ỗ
i
i
control
control
đ
đ
ề
ề
u
u
ch
ch
ứ
ứ
a
a
d
d
ữ
ữ
li
li
ệ
ệ
u
u
.
.
V
V
í
í
d
d
ụ
ụ
:
:
h
h
ộ
ộ
p
p
checkbox
checkbox
s
s
ẽ
ẽ
ch
ch
ứ
ứ
a
a
d
d
ữ
ữ
li
li
ệ
ệ
u
u
ki
ki
ể
ể
u
u
bool
bool
,
,
h
h
ộ
ộ
p
p
textbox
textbox
ch
ch
ứ
ứ
a
a
d
d
ữ
ữ
li
li
ệ
ệ
u
u
ki
ki
ể
ể
u
u
string,
string,
h
h
ộ
ộ
p
p
listbox
listbox
ch
ch
ứ
ứ
a
a
d
d
ữ
ữ
li
li
ệ
ệ
u
u
ki
ki
ể
ể
u
u
t
t
ậ
ậ
p
p
h
h
ợ
ợ
p
p
.
.
Khi
Khi
c
c
ó
ó
m
m
ộ
ộ
t
t
ngu
ngu
ồ
ồ
n
n
d
d
ữ
ữ
li
li
ệ
ệ
u
u
,
,
c
c
ó
ó
th
th
ể
ể
g
g
ắ
ắ
n
n
v
v
à
à
o
o
m
m
ộ
ộ
t
t
control:
control:
thông
thông
thư
thư
ờ
ờ
ng
ng
control
control
s
s
ẽ
ẽ
ch
ch
ứ
ứ
a
a
m
m
ộ
ộ
t
t
t
t
ậ
ậ
p
p
d
d
ữ
ữ
li
li
ệ
ệ
u
u
,
,
nhưng
nhưng
ch
ch
ỉ
ỉ
c
c
ó
ó
m
m
ộ
ộ
t
t
m
m
ẩ
ẩ
u
u
d
d
ữ
ữ
li
li
ệ
ệ
u
u
đư
đư
ợ
ợ
c
c
x
x
á
á
c
c
đ
đ
ị
ị
nh
nh
l
l
à
à
hi
hi
ệ
ệ
n
n
th
th
ờ
ờ
i
i
.
.
interface
interface
IList
IList
–
–
M
M
ộ
ộ
t
t
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
d
d
ữ
ữ
li
li
ệ
ệ
u
u
mu
mu
ố
ố
n
n
tr
tr
ở
ở
th
th
à
à
nh
nh
ngu
ngu
ồ
ồ
n
n
d
d
ữ
ữ
li
li
ệ
ệ
u
u
th
th
ì
ì
ph
ph
ả
ả
i
i
c
c
à
à
i
i
đ
đ
ặ
ặ
t
t
giao
giao
ti
ti
ế
ế
p
p
IList
IList
.
.
H
H
ầ
ầ
u
u
h
h
ế
ế
t
t
c
c
á
á
c
c
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
t
t
ậ
ậ
p
p
h
h
ợ
ợ
p
p
c
c
ủ
ủ
a
a
.NET
.NET
đ
đ
ề
ề
u
u
c
c
à
à
i
i
đ
đ
ặ
ặ
t
t
giao
giao
ti
ti
ế
ế
p
p
n
n
à
à
y
y
.
.
–
–
B
B
à
à
i
i
t
t
ậ
ậ
p
p
:
:
vi
vi
ế
ế
t
t
h
h
ộ
ộ
p
p
tho
tho
ạ
ạ
i
i
ch
ch
ọ
ọ
n
n
tên
tên
,
,
nơi
nơi
ở
ở
(
(
th
th
à
à
nh
nh
ph
ph
ố
ố
,
,
qu
qu
ậ
ậ
n
n
huy
huy
ệ
ệ
n
n
)
)
c
c
ủ
ủ
a
a
m
m
ộ
ộ
t
t
ngư
ngư
ờ
ờ
i
i
.
.
Windows Application
Windows Application
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n
n
Quang Minh
Quang Minh
8
8
Custom Controls
Custom Controls
Custom Controls
Custom Controls
–
–
R
R
ấ
ấ
t
t
quan
quan
tr
tr
ọ
ọ
ng
ng
,
,
cho
cho
ph
ph
é
é
p
p
l
l
ậ
ậ
p
p
tr
tr
ì
ì
nh
nh
viên
viên
m
m
ở
ở
r
r
ộ
ộ
ng
ng
c
c
á
á
c
c
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
đi
đi
ề
ề
u
u
khi
khi
ể
ể
n
n
.
.
–
–
Trong
Trong
.NET, custom control
.NET, custom control
đư
đư
ợ
ợ
c
c
k
k
ế
ế
th
th
ừ
ừ
a
a
t
t
ừ
ừ
l
l
ớ
ớ
p
p
UserControl
UserControl
.
.
T
T
ạ
ạ
o
o
custome
custome
control
control
đơn
đơn
gi
gi
ả
ả
n
n
–
–
G
G
ồ
ồ
m
m
m
m
ộ
ộ
t
t
t
t
ậ
ậ
p
p
c
c
á
á
c
c
control
control
c
c
ó
ó
s
s
ẵ
ẵ
n
n
c
c
ủ
ủ
a
a
windows
windows
Thi
Thi
ế
ế
t
t
k
k
ế
ế
như
như
m
m
ộ
ộ
t
t
windows form
windows form
M
M
ở
ở
r
r
ộ
ộ
ng
ng
thêm
thêm
c
c
á
á
c
c
phương
phương
th
th
ứ
ứ
c
c
v
v
à
à
thu
thu
ộ
ộ
c
c
t
t
í
í
nh
nh
T
T
ạ
ạ
o
o
custome
custome
control
control
m
m
ở
ở
r
r
ộ
ộ
ng
ng
–
–
Nh
Nh
ằ
ằ
m
m
m
m
ụ
ụ
c
c
đ
đ
í
í
ch
ch
m
m
ở
ở
r
r
ộ
ộ
ng
ng
t
t
í
í
nh
nh
năng
năng
control
control
s
s
ẵ
ẵ
n
n
c
c
ó
ó
K
K
ế
ế
th
th
ừ
ừ
a
a
t
t
ừ
ừ
control
control
c
c
ầ
ầ
n
n
m
m
ở
ở
r
r
ộ
ộ
ng
ng
Thêm
Thêm
c
c
á
á
c
c
phương
phương
th
th
ứ
ứ
c
c
v
v
à
à
thu
thu
ộ
ộ
c
c
t
t
í
í
nh
nh
c
c
ầ
ầ
n
n
thi
thi
ế
ế
t
t
C
C
ó
ó
th
th
ể
ể
thêm
thêm
s
s
ự
ự
ki
ki
ệ
ệ
n
n
Windows Application
Windows Application
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n
n
Quang Minh
Quang Minh
9
9
T
T
à
à
i li
i li
ệ
ệ
u tham kh
u tham kh
ả
ả
o
o
Professional C#, Second Edition
Professional C#, Second Edition
/> />
Đ
Đ
ị
ị
a ch
a ch
ỉ
ỉ
download t
download t
à
à
i li
i li
ệ
ệ
u
u
/> />-
-
day/tab.aspx
day/tab.aspx
Di
Di
ễ
ễ
n đ
n đ
à
à
n C# & .NET
n C# & .NET
/> />ory/hoc
ory/hoc
-
-
tap
tap
-
-
nghien
nghien
-
-
cuu/dot
cuu/dot
-
-
net/tab.aspx
net/tab.aspx
Data Access and Viewing with .NET
Data Access and Viewing with .NET
-
-
Editor:
Editor:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
1
1
C# and .NET Framework
C# and .NET Framework
B
B
à
à
i 6:
i 6:
Data Access and Viewing
Data Access and Viewing
with .NET
with .NET
Đo
Đo
à
à
n Quang Minh
n Quang Minh
http
http
://www.VTPortal.net
://www.VTPortal.net
Last update:
Last update:
30. December 2006
30. December 2006
Data Access and Viewing with .NET
Data Access and Viewing with .NET
-
-
Editor:
Editor:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
2
2
M
M
ụ
ụ
c l
c l
ụ
ụ
c
c
ADO.NET Overview
ADO.NET Overview
Using Database Connections
Using Database Connections
Commands
Commands
Quick Data Access: The Data Reader
Quick Data Access: The Data Reader
Working with
Working with
DataSet
DataSet
Viewing .NET data
Viewing .NET data
Example
Example
Data Access and Viewing with .NET
Data Access and Viewing with .NET
-
-
Editor:
Editor:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
3
3
ADO.NET Overview
ADO.NET Overview
ADO.NET l
ADO.NET l
à
à
g
g
ì
ì
–
–
ADO
ADO
-
-
Microsoft
Microsoft
's
's
ActiveX Data Objects: t
ActiveX Data Objects: t
hư vi
hư vi
ệ
ệ
n c
n c
á
á
c cho ph
c cho ph
é
é
p truy c
p truy c
ậ
ậ
p
p
v
v
à
à
x
x
ử
ử
lý CSDL.
lý CSDL.
–
–
ADO c
ADO c
ó
ó
m
m
ộ
ộ
t s
t s
ố
ố
h
h
ạ
ạ
n ch
n ch
ế
ế
: luôn luôn gi
: luôn luôn gi
ữ
ữ
k
k
ế
ế
t n
t n
ố
ố
i, ch
i, ch
ỉ
ỉ
l
l
à
à
m vi
m vi
ệ
ệ
c v
c v
ớ
ớ
i CSDL
i CSDL
–
–
ADO.NET: l
ADO.NET: l
à
à
m vi
m vi
ệ
ệ
c v
c v
ớ
ớ
i c
i c
á
á
c đ
c đ
ố
ố
i tư
i tư
ợ
ợ
ng d
ng d
ữ
ữ
li
li
ệ
ệ
u, h
u, h
ỗ
ỗ
tr
tr
ợ
ợ
m
m
ạ
ạ
nh m
nh m
ẽ
ẽ
SQL
SQL
Server,
Server,
đ
đ
ồ
ồ
ng th
ng th
ờ
ờ
i h
i h
ỗ
ỗ
tr
tr
ợ
ợ
c
c
á
á
c k
c k
ế
ế
t n
t n
ố
ố
i OLE DB.
i OLE DB.
namespace
namespace
System.Data
System.Data
–
–
Đ
Đ
ể
ể
truy
truy
c
c
ậ
ậ
p
p
v
v
à
à
x
x
ử
ử
lý
lý
CSDL,
CSDL,
s
s
ử
ử
d
d
ụ
ụ
ng
ng
c
c
á
á
c
c
namespace
namespace
System.Data
System.Data
,
,
System.Data.Common
System.Data.Common
,
,
System.Data.OleDb
System.Data.OleDb
,
,
System.Data.SqlClient
System.Data.SqlClient
,
,
System.Data.SqlTypes
System.Data.SqlTypes
.
.
–
–
C
C
á
á
c
c
l
l
ớ
ớ
p
p
cơ
cơ
b
b
ả
ả
n
n
trong
trong
System.Data
System.Data
:
:
DataSet
DataSet
,
,
DataTable
DataTable
,
,
DataRow
DataRow
,
,
DataColumn
DataColumn
,
,
DataRelation
DataRelation
, Constraint
, Constraint
–
–
C
C
á
á
c
c
l
l
ớ
ớ
p
p
đ
đ
ặ
ặ
c
c
bi
bi
ệ
ệ
t
t
:
:
SqlCommand
SqlCommand
,
,
OleDbCommand
OleDbCommand
,
,
SqlCommandBuilder
SqlCommandBuilder
,
,
OleDbCommandBuilder
OleDbCommandBuilder
,
,
SqlConnection
SqlConnection
,
,
OleDbConnection
OleDbConnection
,
,
SqlDataAdapter
SqlDataAdapter
,
,
OleDbDataAdapter
OleDbDataAdapter
,
,
SqlDataReader
SqlDataReader
,
,
OleDbDataReader
OleDbDataReader
,
,
SqlParameter
SqlParameter
,
,
OleDbParameter
OleDbParameter
,
,
SqlTransaction
SqlTransaction
,
,
OleDbTransaction
OleDbTransaction
Data Access and Viewing with .NET
Data Access and Viewing with .NET
-
-
Editor:
Editor:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
4
4
Using Database Connections
Using Database Connections
Mu
Mu
ố
ố
n
n
truy
truy
v
v
ấ
ấ
n
n
CSDL,
CSDL,
ch
ch
ú
ú
ng
ng
ta
ta
ph
ph
ả
ả
i
i
c
c
ó
ó
m
m
ộ
ộ
t
t
k
k
ế
ế
t
t
n
n
ố
ố
i
i
đ
đ
ế
ế
n
n
CSDL
CSDL
–
–
S
S
ử
ử
d
d
ụ
ụ
ng
ng
l
l
ớ
ớ
p
p
SqlConnection
SqlConnection
,
,
OleDbConnection
OleDbConnection
Cung
Cung
c
c
ấ
ấ
p
p
chu
chu
ỗ
ỗ
i
i
k
k
ế
ế
t
t
n
n
ố
ố
i
i
:
:
thông
thông
thư
thư
ờ
ờ
ng
ng
bao
bao
g
g
ồ
ồ
m
m
tên
tên
server,
server,
tên
tên
CSDL,
CSDL,
tên
tên
truy
truy
c
c
ậ
ậ
p
p
,
,
m
m
ậ
ậ
t
t
kh
kh
ẩ
ẩ
u
u
.
.
S
S
ử
ử
d
d
ụ
ụ
ng
ng
c
c
á
á
c
c
phương
phương
th
th
ứ
ứ
c
c
Open()
Open()
v
v
à
à
Close().
Close().
–
–
S
S
ử
ử
d
d
ụ
ụ
ng
ng
k
k
ế
ế
t
t
n
n
ố
ố
i
i
hi
hi
ệ
ệ
u
u
qu
qu
ả
ả
Đ
Đ
ó
ó
ng
ng
ngay
ngay
k
k
ế
ế
t
t
n
n
ố
ố
i
i
khi
khi
không
không
d
d
ù
ù
ng
ng
n
n
ữ
ữ
a
a
:
:
thông
thông
thư
thư
ờ
ờ
ng
ng
,
,
ch
ch
ú
ú
ng
ng
ta
ta
không
không
duy
duy
tr
tr
ì
ì
m
m
ộ
ộ
t
t
k
k
ế
ế
t
t
n
n
ố
ố
i
i
“
“
c
c
ứ
ứ
ng
ng
”
”
đ
đ
ế
ế
n
n
CSDL.
CSDL.
Khi
Khi
c
c
ầ
ầ
n
n
truy
truy
v
v
ấ
ấ
n
n
,
,
ch
ch
ú
ú
ng
ng
ta
ta
m
m
ở
ở
k
k
ế
ế
t
t
n
n
ố
ố
i
i
,
,
truy
truy
v
v
ấ
ấ
n
n
xong
xong
,
,
đ
đ
ó
ó
ng
ng
ngay
ngay
k
k
ế
ế
t
t
n
n
ố
ố
i
i
l
l
ạ
ạ
i
i
.
.
Kh
Kh
ố
ố
i
i
l
l
ệ
ệ
nh
nh
k
k
ế
ế
t
t
n
n
ố
ố
i
i
nên
nên
đ
đ
ặ
ặ
t
t
trong
trong
kh
kh
ố
ố
i
i
try
try
…
…
catch
catch
T
T
ừ
ừ
kh
kh
ó
ó
a
a
using:
using:
s
s
ử
ử
d
d
ụ
ụ
ng
ng
m
m
ộ
ộ
t
t
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
. Ra
. Ra
kh
kh
ỏ
ỏ
i
i
ph
ph
ạ
ạ
m
m
vi
vi
c
c
ủ
ủ
a
a
using,
using,
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
s
s
ẽ
ẽ
b
b
ị
ị
hu
hu
ỷ
ỷ
.
.
–
–
Transactions
Transactions
Transactions
Transactions
l
l
à
à
g
g
ì
ì
?.
?.
S
S
ử
ử
d
d
ụ
ụ
ng
ng
thông
thông
qua
qua
SqlTransaction
SqlTransaction
ho
ho
ặ
ặ
c
c
OleDbTransaction
OleDbTransaction
.
.
Data Access and Viewing with .NET
Data Access and Viewing with .NET
-
-
Editor:
Editor:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
5
5
Commands
Commands
L
L
à
à
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
th
th
ự
ự
c
c
thi
thi
câu
câu
l
l
ệ
ệ
nh
nh
–
–
M
M
ộ
ộ
t
t
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
command
command
thông
thông
thư
thư
ờ
ờ
ng
ng
đư
đư
ợ
ợ
c
c
s
s
ử
ử
d
d
ụ
ụ
ng
ng
đ
đ
ể
ể
th
th
ự
ự
c
c
thi
thi
m
m
ộ
ộ
t
t
câu
câu
l
l
ệ
ệ
nh
nh
SQL
SQL
ho
ho
ặ
ặ
c
c
m
m
ộ
ộ
t
t
th
th
ủ
ủ
t
t
ụ
ụ
c
c
lưu
lưu
.
.
–
–
C
C
á
á
c
c
bư
bư
ớ
ớ
c
c
th
th
ự
ự
c
c
hi
hi
ệ
ệ
n
n
:
:
Khai
Khai
b
b
á
á
o
o
v
v
à
à
m
m
ở
ở
m
m
ộ
ộ
t
t
connection.
connection.
Khai
Khai
b
b
á
á
o
o
m
m
ộ
ộ
t
t
chu
chu
ỗ
ỗ
i
i
ch
ch
ứ
ứ
a
a
câu
câu
l
l
ệ
ệ
nh
nh
SQL
SQL
ho
ho
ặ
ặ
c
c
tên
tên
th
th
ủ
ủ
t
t
ụ
ụ
c
c
lưu
lưu
Khai
Khai
b
b
á
á
o
o
m
m
ộ
ộ
t
t
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
command
command
v
v
ớ
ớ
i
i
câu
câu
l
l
ệ
ệ
nh
nh
truy
truy
v
v
ấ
ấ
n
n
v
v
à
à
ngu
ngu
ồ
ồ
n
n
k
k
ế
ế
t
t
n
n
ố
ố
i
i
.
.
Ch
Ch
ỉ
ỉ
đ
đ
ị
ị
nh
nh
thu
thu
ộ
ộ
c
c
t
t
í
í
nh
nh
câu
câu
truy
truy
v
v
ấ
ấ
n
n
:
:
d
d
ạ
ạ
ng
ng
text hay
text hay
th
th
ủ
ủ
t
t
ụ
ụ
c
c
lưu
lưu
.
.
Thêm
Thêm
c
c
á
á
c
c
tham
tham
s
s
ố
ố
c
c
ủ
ủ
a
a
câu
câu
truy
truy
v
v
ấ
ấ
n
n
.
.
Th
Th
ự
ự
c
c
hi
hi
ệ
ệ
n
n
l
l
ệ
ệ
nh
nh
truy
truy
v
v
ấ
ấ
n
n
:
:
tu
tu
ỳ
ỳ
theo
theo
yêu
yêu
c
c
ầ
ầ
u
u
th
th
ự
ự
c
c
hi
hi
ệ
ệ
n
n
c
c
á
á
c
c
l
l
ệ
ệ
nh
nh
kh
kh
á
á
c
c
nhau
nhau
Data Access and Viewing with .NET
Data Access and Viewing with .NET
-
-
Editor:
Editor:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
6
6
Commands
Commands
C
C
á
á
c
c
l
l
ệ
ệ
nh
nh
truy
truy
v
v
ấ
ấ
n
n
v
v
ớ
ớ
i
i
command.
command.
–
–
ExecuteNonQuery
ExecuteNonQuery
()
()
Th
Th
ự
ự
c
c
thi
thi
câu
câu
l
l
ệ
ệ
nh
nh
,
,
không
không
tr
tr
ả
ả
v
v
ề
ề
k
k
ế
ế
t
t
qu
qu
ả
ả
.
.
Thư
Thư
ờ
ờ
ng
ng
s
s
ử
ử
d
d
ụ
ụ
ng
ng
trong
trong
truy
truy
v
v
ấ
ấ
n
n
không
không
c
c
ầ
ầ
n
n
quan
quan
tâm
tâm
đ
đ
ế
ế
n
n
k
k
ế
ế
t
t
qu
qu
ả
ả
,
,
v
v
í
í
d
d
ụ
ụ
c
c
á
á
c
c
l
l
ệ
ệ
nh
nh
delete, insert, update
delete, insert, update
…
…
–
–
ExecuteReader
ExecuteReader
()
()
Tr
Tr
ả
ả
v
v
ề
ề
m
m
ộ
ộ
t
t
DataReader
DataReader
.
.
Thư
Thư
ờ
ờ
ng
ng
s
s
ử
ử
d
d
ụ
ụ
ng
ng
trong
trong
c
c
á
á
c
c
truy
truy
v
v
ấ
ấ
n
n
hi
hi
ể
ể
n
n
th
th
ị
ị
d
d
ữ
ữ
li
li
ệ
ệ
u
u
.
.
–
–
ExecuteScalar
ExecuteScalar
()
()
Tr
Tr
ả
ả
v
v
ề
ề
m
m
ộ
ộ
t
t
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
duy
duy
nh
nh
ấ
ấ
t
t
.
.
Thư
Thư
ờ
ờ
ng
ng
s
s
ử
ử
d
d
ụ
ụ
ng
ng
trong
trong
c
c
á
á
c
c
truy
truy
v
v
ấ
ấ
n
n
tr
tr
ả
ả
v
v
ề
ề
m
m
ộ
ộ
t
t
gi
gi
á
á
tr
tr
ị
ị
d
d
ữ
ữ
li
li
ệ
ệ
u
u
đơn
đơn
,
,
v
v
í
í
d
d
ụ
ụ
c
c
á
á
c
c
l
l
ệ
ệ
nh
nh
t
t
í
í
nh
nh
t
t
ổ
ổ
ng
ng
,
,
t
t
í
í
nh
nh
trung
trung
b
b
ì
ì
nh
nh
,
,
t
t
í
í
nh
nh
min/max
min/max
…
…
–
–
ExecuteXmlReader
ExecuteXmlReader
()
()
Tr
Tr
ả
ả
v
v
ề
ề
m
m
ộ
ộ
t
t
XmlReader
XmlReader
.
.
Thư
Thư
ờ
ờ
ng
ng
đư
đư
ợ
ợ
c
c
x
x
ử
ử
d
d
ụ
ụ
ng
ng
khi
khi
hi
hi
ể
ể
n
n
th
th
ị
ị
d
d
ữ
ữ
li
li
ệ
ệ
u
u
dư
dư
ớ
ớ
i
i
d
d
ạ
ạ
ng
ng
XML.
XML.
Nên
Nên
d
d
ù
ù
ng
ng
n
n
ế
ế
u
u
CSDL
CSDL
h
h
ỗ
ỗ
tr
tr
ợ
ợ
truy
truy
v
v
ấ
ấ
n
n
XML,
XML,
v
v
í
í
d
d
ụ
ụ
SQL Server 2000.
SQL Server 2000.
Data Access and Viewing with .NET
Data Access and Viewing with .NET
-
-
Editor:
Editor:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
7
7
Commands
Commands
public class
public class
ExecuteScalarExample
ExecuteScalarExample
{
{
public static void
public static void
Main(string
Main(string
[]
[]
args
args
)
)
{
{
string source = "server=(local)
string source = "server=(local)
\
\
\
\
NetSDK
NetSDK
;" +
;" +
"
"
uid
uid
=
=
QSUser;pwd
QSUser;pwd
=
=
QSPassword
QSPassword
;" + "database=
;" + "database=
Northwind
Northwind
";
";
string select = "SELECT COUNT(*) FROM Customers";
string select = "SELECT COUNT(*) FROM Customers";
SqlConnection
SqlConnection
conn
conn
= new
= new
SqlConnection(source
SqlConnection(source
);
);
conn.Open
conn.Open
();
();
SqlCommand
SqlCommand
cmd
cmd
= new
= new
SqlCommand(select
SqlCommand(select
,
,
conn
conn
);
);
object o =
object o =
cmd.ExecuteScalar
cmd.ExecuteScalar
();
();
Console.WriteLine
Console.WriteLine
( o ) ;
( o ) ;
}
}
}
}
Data Access and Viewing with .NET
Data Access and Viewing with .NET
-
-
Editor:
Editor:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
8
8
Quick Data Access: The Data Reader
Quick Data Access: The Data Reader
Data Reader
Data Reader
–
–
Ch
Ch
ỉ
ỉ
đư
đư
ợ
ợ
c
c
t
t
ạ
ạ
o
o
ra
ra
b
b
ở
ở
i
i
gi
gi
á
á
tr
tr
ị
ị
tr
tr
ả
ả
v
v
ề
ề
c
c
ủ
ủ
a
a
câu
câu
l
l
ệ
ệ
nh
nh
truy
truy
v
v
ấ
ấ
n
n
.
.
–
–
K
K
ế
ế
t
t
n
n
ố
ố
i
i
t
t
ớ
ớ
i
i
CSDL
CSDL
luôn
luôn
m
m
ở
ở
,
,
cho
cho
đ
đ
ế
ế
n
n
nh
nh
ậ
ậ
n
n
đư
đư
ợ
ợ
c
c
l
l
ệ
ệ
nh
nh
đ
đ
ó
ó
ng
ng
.
.
T
T
í
í
nh
nh
ch
ch
ấ
ấ
t
t
–
–
M
M
ộ
ộ
t
t
data reader
data reader
gi
gi
ố
ố
ng
ng
như
như
m
m
ộ
ộ
t
t
record set
record set
ch
ch
ỉ
ỉ
ti
ti
ế
ế
n
n
(forward only)
(forward only)
trong
trong
ADO.
ADO.
Ch
Ch
ỉ
ỉ
c
c
ó
ó
th
th
ể
ể
đ
đ
ọ
ọ
c
c
,
,
v
v
à
à
đi
đi
đ
đ
ế
ế
n
n
b
b
ả
ả
n
n
ghi
ghi
ti
ti
ế
ế
p
p
.
.
Không
Không
th
th
ể
ể
quay
quay
l
l
ạ
ạ
i
i
c
c
á
á
c
c
b
b
ả
ả
n
n
ghi
ghi
đã
đã
đ
đ
ọ
ọ
c
c
.
.
–
–
T
T
ố
ố
c
c
đ
đ
ộ
ộ
cao
cao
:
:
M
M
ộ
ộ
t
t
data reader
data reader
không
không
gi
gi
ữ
ữ
c
c
á
á
c
c
b
b
ả
ả
n
n
ghi
ghi
trong
trong
b
b
ộ
ộ
nh
nh
ớ
ớ
.
.
Data reader
Data reader
ch
ch
ỉ
ỉ
c
c
ó
ó
nhi
nhi
ệ
ệ
m
m
v
v
ụ
ụ
l
l
ấ
ấ
y
y
d
d
ữ
ữ
li
li
ệ
ệ
u
u
t
t
ừ
ừ
CSDL
CSDL
v
v
à
à
chuy
chuy
ể
ể
n
n
v
v
ề
ề
.
.
R
R
ấ
ấ
t
t
hay
hay
đư
đư
ợ
ợ
c
c
s
s
ử
ử
d
d
ụ
ụ
ng
ng
khi
khi
ch
ch
ỉ
ỉ
c
c
ầ
ầ
n
n
hi
hi
ể
ể
n
n
th
th
ị
ị
d
d
ữ
ữ
li
li
ệ
ệ
u
u
,
,
nh
nh
ấ
ấ
t
t
l
l
à
à
trong
trong
môi
môi
trư
trư
ờ
ờ
ng
ng
web.
web.
Data Access and Viewing with .NET
Data Access and Viewing with .NET
-
-
Editor:
Editor:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
9
9
Working with
Working with
DataSet
DataSet
DataSet
DataSet
:
:
–
–
C
C
ó
ó
t
t
á
á
c
c
d
d
ụ
ụ
ng
ng
gi
gi
ố
ố
ng
ng
như
như
m
m
ộ
ộ
t
t
CSDL offline:
CSDL offline:
Trong
Trong
m
m
ộ
ộ
t
t
DataSet
DataSet
c
c
ó
ó
th
th
ể
ể
ch
ch
ứ
ứ
a
a
c
c
á
á
c
c
DataTable
DataTable
,
,
DataRelation
DataRelation
,
,
…
…
DataSet
DataSet
c
c
ó
ó
th
th
ể
ể
đư
đư
ợ
ợ
c
c
xây
xây
d
d
ự
ự
ng
ng
không
không
ch
ch
ỉ
ỉ
t
t
ừ
ừ
c
c
á
á
c
c
truy
truy
v
v
ấ
ấ
n
n
CSDL,
CSDL,
m
m
à
à
c
c
ó
ó
th
th
ể
ể
t
t
ừ
ừ
c
c
á
á
c
c
t
t
ậ
ậ
p
p
tin
tin
kh
kh
á
á
c
c
(text,
(text,
Excel, CVS,
Excel, CVS,
…
…
)
)
–
–
Đ
Đ
ể
ể
t
t
ạ
ạ
o
o
DataSet
DataSet
Truy
Truy
v
v
ấ
ấ
n
n
CSDL,
CSDL,
d
d
ự
ự
a
a
trên
trên
m
m
ộ
ộ
t
t
DataAdapter
DataAdapter
Xây
Xây
d
d
ự
ự
ng
ng
b
b
ằ
ằ
ng
ng
c
c
á
á
ch
ch
thêm
thêm
c
c
á
á
c
c
DataTable
DataTable
Data Access and Viewing with .NET
Data Access and Viewing with .NET
-
-
Editor:
Editor:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
10
10
Working with
Working with
DataSet
DataSet
Truy
Truy
v
v
ấ
ấ
n
n
CSDL
CSDL
–
–
M
M
ở
ở
m
m
ộ
ộ
t
t
connection.
connection.
–
–
T
T
ạ
ạ
o
o
m
m
ộ
ộ
t
t
DataAdapter
DataAdapter
,
,
ch
ch
ỉ
ỉ
đ
đ
ị
ị
nh
nh
câu
câu
l
l
ệ
ệ
nh
nh
truy
truy
v
v
ấ
ấ
n
n
cho
cho
data
data
adapter.
adapter.
–
–
T
T
ạ
ạ
o
o
m
m
ớ
ớ
i
i
m
m
ộ
ộ
t
t
data set.
data set.
–
–
S
S
ử
ử
d
d
ụ
ụ
ng
ng
phương
phương
th
th
ứ
ứ
c
c
Fill()
Fill()
c
c
ủ
ủ
a
a
data adapter.
data adapter.
Xây
Xây
d
d
ự
ự
ng
ng
b
b
ằ
ằ
ng
ng
c
c
á
á
ch
ch
thêm
thêm
c
c
á
á
c
c
data table
data table
–
–
T
T
ạ
ạ
o
o
m
m
ớ
ớ
i
i
m
m
ộ
ộ
t
t
DataSet
DataSet
.
.
–
–
T
T
ạ
ạ
o
o
m
m
ớ
ớ
i
i
c
c
á
á
c
c
DataTable
DataTable
.
.
Kh
Kh
ở
ở
i
i
t
t
ạ
ạ
o
o
data table
data table
b
b
ằ
ằ
ng
ng
c
c
á
á
ch
ch
thêm
thêm
m
m
ớ
ớ
i
i
DataColumn
DataColumn
Thêm
Thêm
c
c
á
á
c
c
dòng
dòng
d
d
ữ
ữ
li
li
ệ
ệ
u
u
v
v
à
à
o
o
data table.
data table.
–
–
Add
Add
c
c
á
á
c
c
data table
data table
v
v
à
à
o
o
data set
data set
b
b
ằ
ằ
ng
ng
c
c
á
á
ch
ch
thêm
thêm
v
v
à
à
o
o
thu
thu
ộ
ộ
c
c
t
t
í
í
nh
nh
Tables
Tables
c
c
ủ
ủ
a
a
data set
data set
Data Access and Viewing with .NET
Data Access and Viewing with .NET
-
-
Editor:
Editor:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
11
11
Working with
Working with
DataSet
DataSet
–
–
Example
Example
DataSet
DataSet
ds
ds
= new
= new
DataSet
DataSet
();
();
DataTable
DataTable
dt
dt
=
=
ds.Tables.Add("SampleData
ds.Tables.Add("SampleData
");
");
dt.Columns.Add("MonHocID
dt.Columns.Add("MonHocID
",
",
typeof(Guid
typeof(Guid
));
));
dt.Columns.Add("TenMon
dt.Columns.Add("TenMon
",
",
typeof(string
typeof(string
));
));
dt.Columns.Add("MaMon
dt.Columns.Add("MaMon
",
",
typeof(string
typeof(string
));
));
dt.Columns.Add(
dt.Columns.Add(
“
“
HeSoMon
HeSoMon
",
",
typeof(int
typeof(int
));
));
DataRow
DataRow
dr
dr
;
;
for (
for (
int
int
i = 1; i <= 20; i++)
i = 1; i <= 20; i++)
{
{
dr
dr
=
=
dt.NewRow
dt.NewRow
();
();
dr["MonHocID
dr["MonHocID
"] =
"] =
Guid.NewGuid
Guid.NewGuid
();
();
dr["TenMon
dr["TenMon
"] = "Mon hoc
"] = "Mon hoc
thu
thu
" +
" +
i.ToString
i.ToString
();
();
dr["MaMon
dr["MaMon
"] = "MaMon00" +
"] = "MaMon00" +
i.ToString
i.ToString
();
();
dr["HeSoMon
dr["HeSoMon
"] = i;
"] = i;
dt.Rows.Add(dr
dt.Rows.Add(dr
);
);
}
}
Data Access and Viewing with .NET
Data Access and Viewing with .NET
-
-
Editor:
Editor:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
12
12
Working with
Working with
DataSet
DataSet
–
–
Example
Example
SqlConnection
SqlConnection
conn
conn
= new
= new
SqlConnection(source
SqlConnection(source
);
);
SqlCommand
SqlCommand
cmd
cmd
= new
= new
SqlCommand(select
SqlCommand(select
,
,
conn
conn
);
);
SqlDataAdapter
SqlDataAdapter
adapter = new
adapter = new
SqlDataAdapter
SqlDataAdapter
();
();
adapter.SelectCommand
adapter.SelectCommand
=
=
cmd
cmd
;
;
DataSet
DataSet
data = new
data = new
DataSet
DataSet
();
();
try
try
{
{
conn.Open
conn.Open
();
();
adapter.Fill(data
adapter.Fill(data
);
);
}
}
catch (
catch (
SqlException
SqlException
expSQL
expSQL
)
)
{
{
}
}
finally
finally
{
{
conn.Close
conn.Close
();
();
}
}
Data Access and Viewing with .NET
Data Access and Viewing with .NET
-
-
Editor:
Editor:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
13
13
Working with
Working with
DataSet
DataSet
Sau
Sau
khi
khi
xây
xây
d
d
ự
ự
ng
ng
,
,
đi
đi
ề
ề
n
n
thông
thông
tin
tin
v
v
à
à
o
o
data
data
set,
set,
c
c
ó
ó
th
th
ể
ể
thay
thay
đ
đ
ổ
ổ
i
i
d
d
ữ
ữ
li
li
ệ
ệ
u
u
(insert, delete,
(insert, delete,
update)
update)
v
v
à
à
c
c
ậ
ậ
p
p
nh
nh
ậ
ậ
t
t
tr
tr
ở
ở
l
l
ạ
ạ
i
i
v
v
à
à
o
o
CSDL.
CSDL.
–
–
Thu
Thu
ộ
ộ
c
c
t
t
í
í
nh
nh
Rows
Rows
c
c
ủ
ủ
a
a
DataTable
DataTable
l
l
à
à
m
m
ộ
ộ
t
t
collection.
collection.
Thêm
Thêm
(insert)
(insert)
m
m
ộ
ộ
t
t
row
row
m
m
ớ
ớ
i
i
b
b
ằ
ằ
ng
ng
phương
phương
th
th
ứ
ứ
c
c
Add()
Add()
C
C
ậ
ậ
p
p
nh
nh
ậ
ậ
t
t
(update)
(update)
m
m
ộ
ộ
t
t
row
row
c
c
ũ
ũ
b
b
ằ
ằ
ng
ng
c
c
á
á
ch
ch
thay
thay
đ
đ
ổ
ổ
i
i
c
c
á
á
c
c
gi
gi
á
á
tr
tr
ị
ị
c
c
ủ
ủ
a
a
row
row
Xo
Xo
á
á
(delete)
(delete)
m
m
ộ
ộ
t
t
row
row
b
b
ằ
ằ
ng
ng
phương
phương
th
th
ứ
ứ
c
c
Delete()
Delete()
Data Access and Viewing with .NET
Data Access and Viewing with .NET
-
-
Editor:
Editor:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
14
14
Viewing .NET data
Viewing .NET data
Song
Song
song
song
v
v
ớ
ớ
i
i
vi
vi
ệ
ệ
c
c
x
x
ử
ử
lý
lý
d
d
ữ
ữ
li
li
ệ
ệ
u
u
l
l
à
à
hi
hi
ể
ể
n
n
th
th
ị
ị
d
d
ữ
ữ
li
li
ệ
ệ
u
u
:
:
–
–
.NET
.NET
cung
cung
c
c
ấ
ấ
p
p
c
c
á
á
c
c
control
control
r
r
ấ
ấ
t
t
hi
hi
ệ
ệ
u
u
qu
qu
ả
ả
cho
cho
vi
vi
ệ
ệ
c
c
hi
hi
ể
ể
n
n
th
th
ị
ị
d
d
ữ
ữ
li
li
ệ
ệ
u
u
.
.
–
–
Vi
Vi
ệ
ệ
c
c
hi
hi
ể
ể
n
n
th
th
ị
ị
d
d
ữ
ữ
li
li
ệ
ệ
u
u
trên
trên
c
c
á
á
c
c
control
control
n
n
à
à
y
y
ch
ch
ỉ
ỉ
đơn
đơn
gi
gi
ả
ả
n
n
b
b
ằ
ằ
ng
ng
c
c
á
á
ch
ch
ch
ch
ỉ
ỉ
ra
ra
ngu
ngu
ồ
ồ
n
n
d
d
ữ
ữ
li
li
ệ
ệ
u
u
,
,
g
g
ọ
ọ
i
i
phương
phương
th
th
ứ
ứ
c
c
DataBind
DataBind
()
()
–
–
C
C
á
á
c
c
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
hi
hi
ể
ể
n
n
th
th
ị
ị
d
d
ữ
ữ
li
li
ệ
ệ
u
u
bao
bao
g
g
ồ
ồ
m
m
:
:
DataGrid
DataGrid
,
,
DataList
DataList
,
,
Repeter
Repeter
Data Access and Viewing with .NET
Data Access and Viewing with .NET
-
-
Editor:
Editor:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
15
15
Viewing .NET data
Viewing .NET data
DataGrid
DataGrid
(ASP.NET)
(ASP.NET)
–
–
Cho
Cho
ph
ph
é
é
p
p
hi
hi
ể
ể
n
n
th
th
ị
ị
d
d
ữ
ữ
li
li
ệ
ệ
u
u
dư
dư
ớ
ớ
i
i
d
d
ạ
ạ
ng
ng
b
b
ả
ả
ng
ng
.
.
–
–
Cho
Cho
ph
ph
é
é
p
p
phân
phân
trang
trang
v
v
à
à
s
s
ắ
ắ
p
p
x
x
ế
ế
p
p
d
d
ữ
ữ
li
li
ệ
ệ
u
u
.
.
Hi
Hi
ể
ể
n
n
th
th
ị
ị
d
d
ữ
ữ
li
li
ệ
ệ
u
u
–
–
Thi
Thi
ế
ế
t
t
k
k
ế
ế
form:
form:
Thêm
Thêm
m
m
ộ
ộ
t
t
DataGrid
DataGrid
.
.
Thay
Thay
đ
đ
ổ
ổ
i
i
c
c
á
á
c
c
thu
thu
ộ
ộ
c
c
t
t
í
í
nh
nh
c
c
ầ
ầ
n
n
thi
thi
ế
ế
t
t
.
.
–
–
Thu
Thu
ộ
ộ
c
c
t
t
í
í
nh
nh
quan
quan
tr
tr
ọ
ọ
ng
ng
:
:
DataKeyField
DataKeyField
:
:
kho
kho
á
á
ch
ch
í
í
nh
nh
c
c
ủ
ủ
a
a
lư
lư
ớ
ớ
i
i
,
,
thông
thông
thư
thư
ờ
ờ
ng
ng
l
l
à
à
kho
kho
á
á
ch
ch
í
í
nh
nh
trong
trong
b
b
ả
ả
ng
ng
d
d
ữ
ữ
li
li
ệ
ệ
u
u
.
.
DataMember
DataMember
:
:
b
b
ả
ả
ng
ng
d
d
ữ
ữ
li
li
ệ
ệ
u
u
(
(
trong
trong
DataSet
DataSet
)
)
c
c
ầ
ầ
n
n
hi
hi
ể
ể
n
n
th
th
ị
ị
.
.
DataSource
DataSource
:
:
ngu
ngu
ồ
ồ
n
n
d
d
ữ
ữ
li
li
ệ
ệ
u
u
c
c
ầ
ầ
n
n
hi
hi
ể
ể
n
n
th
th
ị
ị
AutoGenerateColumns
AutoGenerateColumns
:
:
n
n
ế
ế
u
u
b
b
ằ
ằ
ng
ng
true,
true,
c
c
á
á
c
c
c
c
ộ
ộ
t
t
c
c
ủ
ủ
a
a
grid
grid
s
s
ẽ
ẽ
t
t
ự
ự
đ
đ
ộ
ộ
ng
ng
sinh
sinh
theo
theo
c
c
á
á
c
c
(
(
tên
tên
)
)
trư
trư
ờ
ờ
ng
ng
d
d
ữ
ữ
li
li
ệ
ệ
u
u
trong
trong
b
b
ả
ả
ng
ng
.
.
Data Access and Viewing with .NET
Data Access and Viewing with .NET
-
-
Editor:
Editor:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
16
16
Viewing .NET data
Viewing .NET data
DataGrid
DataGrid
(ASP.NET)
(ASP.NET)
–
–
C
C
ộ
ộ
t
t
trong
trong
grid:
grid:
cho
cho
ph
ph
é
é
p
p
hi
hi
ể
ể
n
n
th
th
ị
ị
theo
theo
nhi
nhi
ề
ề
u
u
khuôn
khuôn
d
d
ạ
ạ
ng
ng
kh
kh
á
á
c
c
nhau
nhau
:
:
Bound Column:
Bound Column:
ch
ch
ỉ
ỉ
hi
hi
ệ
ệ
n
n
th
th
ị
ị
d
d
ữ
ữ
li
li
ệ
ệ
u
u
d
d
ạ
ạ
ng
ng
text
text
Button Column:
Button Column:
cho
cho
ph
ph
é
é
p
p
th
th
ự
ự
c
c
thi
thi
l
l
ệ
ệ
nh
nh
(
(
xo
xo
á
á
,
,
so
so
ạ
ạ
n
n
th
th
ả
ả
o
o
,
,
…
…
)
)
HyperLink
HyperLink
Column:
Column:
siêu
siêu
liên
liên
k
k
ế
ế
t
t
TemplateColumn
TemplateColumn
:
:
m
m
ẫ
ẫ
u
u
,
,
ch
ch
ứ
ứ
a
a
mô
mô
t
t
ả
ả
c
c
ủ
ủ
a
a
c
c
ộ
ộ
t
t
–
–
V
V
ớ
ớ
i
i
c
c
ộ
ộ
t
t
l
l
à
à
button column
button column
Như
Như
l
l
à
à
m
m
ộ
ộ
t
t
n
n
ú
ú
t
t
l
l
ệ
ệ
nh
nh
b
b
ì
ì
nh
nh
thư
thư
ờ
ờ
ng
ng
Thông
Thông
thư
thư
ờ
ờ
ng
ng
,
,
c
c
ầ
ầ
n
n
x
x
ử
ử
lý
lý
dòng
dòng
d
d
ữ
ữ
li
li
ệ
ệ
u
u
đư
đư
ợ
ợ
c
c
click,
click,
dòng
dòng
n
n
à
à
y
y
s
s
ẽ
ẽ
đư
đư
ợ
ợ
c
c
x
x
á
á
c
c
đ
đ
ị
ị
nh
nh
d
d
ự
ự
a
a
trên
trên
kho
kho
á
á
c
c
ủ
ủ
a
a
lư
lư
ớ
ớ
i
i