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
Data Access and Viewing with .NET
Data Access and Viewing with .NET
-
-
Editor:
Editor:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
17
17
Viewing .NET data
Viewing .NET data
GridView
GridView
(ASP.NET):
(ASP.NET):
Tương
Tương
t
t
ự
ự
control
control
DataGrid
DataGrid
,
,
nhưng
nhưng
c
c
ó
ó
m
m
ộ
ộ
t
t
s
s
ố
ố
kh
kh
á
á
c
c
bi
bi
ệ
ệ
t
t
–
–
Thêm
Thêm
m
m
ộ
ộ
t
t
s
s
ố
ố
lo
lo
ạ
ạ
i
i
c
c
ộ
ộ
t
t
m
m
ớ
ớ
i
i
:
:
CheckBoxField
CheckBoxField
:
:
hi
hi
ể
ể
n
n
th
th
ị
ị
d
d
ữ
ữ
li
li
ệ
ệ
u
u
d
d
ạ
ạ
ng
ng
check;
check;
ImageField
ImageField
:
:
hi
hi
ể
ể
n
n
th
th
ị
ị
d
d
ữ
ữ
li
li
ệ
ệ
u
u
d
d
ạ
ạ
ng
ng
ả
ả
nh
nh
.
.
–
–
H
H
ỗ
ỗ
tr
tr
ợ
ợ
đa
đa
ngôn
ngôn
ng
ng
ữ
ữ
ho
ho
à
à
n
n
to
to
à
à
n
n
;
;
–
–
H
H
ỗ
ỗ
tr
tr
ợ
ợ
Ajax
Ajax
thông
thông
qua
qua
kh
kh
á
á
i
i
ni
ni
ệ
ệ
m
m
callback.
callback.
Data Source:
Data Source:
l
l
à
à
c
c
á
á
c
c
control
control
k
k
ế
ế
t
t
n
n
ố
ố
i
i
v
v
à
à
truy
truy
xu
xu
ấ
ấ
t
t
d
d
ữ
ữ
li
li
ệ
ệ
u
u
t
t
ừ
ừ
ngu
ngu
ồ
ồ
n
n
d
d
ữ
ữ
li
li
ệ
ệ
u
u
–
–
C
C
á
á
c
c
ngu
ngu
ồ
ồ
n
n
d
d
ữ
ữ
li
li
ệ
ệ
u
u
h
h
ỗ
ỗ
tr
tr
ợ
ợ
: Access, SQL Server, Object, Site Map, XML
: Access, SQL Server, Object, Site Map, XML
file;
file;
–
–
Cho
Cho
ph
ph
é
é
p
p
thi
thi
ế
ế
t
t
k
k
ế
ế
nhanh
nhanh
c
c
á
á
c
c
ngu
ngu
ồ
ồ
n
n
d
d
ữ
ữ
li
li
ệ
ệ
u
u
ph
ph
ù
ù
h
h
ợ
ợ
p
p
thông
thông
qua
qua
winzard
winzard
;
;
–
–
Khi
Khi
g
g
ắ
ắ
n
n
ngu
ngu
ồ
ồ
n
n
d
d
ữ
ữ
li
li
ệ
ệ
u
u
v
v
à
à
o
o
control
control
hi
hi
ể
ể
n
n
th
th
ị
ị
,
,
d
d
ữ
ữ
li
li
ệ
ệ
u
u
s
s
ẽ
ẽ
đư
đư
ợ
ợ
c
c
t
t
ự
ự
đ
đ
ộ
ộ
ng
ng
truy
truy
v
v
ấ
ấ
n
n
v
v
à
à
hi
hi
ể
ể
n
n
th
th
ị
ị
m
m
à
à
không
không
c
c
ầ
ầ
n
n
vi
vi
ế
ế
t
t
thêm
thêm
mã
mã
l
l
ệ
ệ
nh
nh
;
;
–
–
R
R
ấ
ấ
t
t
t
t
ố
ố
i
i
ưu
ưu
n
n
ế
ế
u
u
c
c
ó
ó
s
s
ử
ử
d
d
ụ
ụ
ng
ng
callback
callback
Data Access and Viewing with .NET
Data Access and Viewing with .NET
-
-
Editor:
Editor:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
18
18
Example
Example
V
V
í
í
d
d
ụ
ụ
l
l
à
à
m
m
vi
vi
ệ
ệ
c
c
v
v
ớ
ớ
i
i
CSDL
CSDL
–
–
M
M
ộ
ộ
t
t
c
c
ử
ử
a
a
h
h
à
à
ng
ng
b
b
á
á
n
n
thi
thi
ế
ế
t
t
b
b
ị
ị
vi
vi
t
t
í
í
nh
nh
c
c
ầ
ầ
n
n
qu
qu
ả
ả
n
n
lý
lý
s
s
ả
ả
n
n
ph
ph
ẩ
ẩ
m
m
theo
theo
danh
danh
m
m
ụ
ụ
c
c
:
:
C
C
á
á
c
c
danh
danh
m
m
ụ
ụ
c
c
như
như
:
:
mainboard
mainboard
, chip,
, chip,
hdd
hdd
,
,
…
…
Trong
Trong
danh
danh
m
m
ụ
ụ
c
c
c
c
ó
ó
c
c
á
á
c
c
s
s
ả
ả
n
n
ph
ph
ẩ
ẩ
m
m
:
:
v
v
í
í
d
d
ụ
ụ
trong
trong
danh
danh
m
m
ụ
ụ
c
c
chip
chip
c
c
ó
ó
chip AMD, chip Intel (
chip AMD, chip Intel (
c
c
á
á
c
c
dòng
dòng
kh
kh
á
á
c
c
nhau
nhau
)
)
–
–
Yêu
Yêu
c
c
ầ
ầ
u
u
:
:
Hi
Hi
ể
ể
n
n
th
th
ị
ị
danh
danh
m
m
ụ
ụ
c
c
ở
ở
m
m
ộ
ộ
t
t
bên
bên
, chi
, chi
ti
ti
ế
ế
t
t
c
c
á
á
c
c
s
s
ả
ả
n
n
ph
ph
ẩ
ẩ
m
m
ở
ở
m
m
ộ
ộ
t
t
bên
bên
Khi
Khi
ngư
ngư
ờ
ờ
i
i
d
d
ù
ù
ng
ng
ch
ch
ọ
ọ
n
n
m
m
ộ
ộ
t
t
danh
danh
m
m
ụ
ụ
c
c
,
,
hi
hi
ể
ể
n
n
th
th
ị
ị
c
c
á
á
c
c
s
s
ả
ả
n
n
ph
ph
ẩ
ẩ
m
m
tương
tương
ứ
ứ
ng
ng
.
.
Data Access and Viewing with .NET
Data Access and Viewing with .NET
-
-
Editor:
Editor:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
19
19
Example
Example
Phân
Phân
t
t
í
í
ch
ch
–
–
C
C
á
á
c
c
yêu
yêu
c
c
ầ
ầ
u
u
đ
đ
ầ
ầ
u
u
b
b
à
à
i
i
.
.
–
–
Thi
Thi
ế
ế
t
t
k
k
ế
ế
CSDL
CSDL
C
C
á
á
c
c
b
b
ả
ả
ng
ng
c
c
ầ
ầ
n
n
thi
thi
ế
ế
t
t
C
C
á
á
c
c
th
th
ủ
ủ
t
t
ụ
ụ
c
c
lưu
lưu
,
,
n
n
ế
ế
u
u
c
c
ầ
ầ
n
n
–
–
X
X
á
á
c
c
đ
đ
ị
ị
nh
nh
môi
môi
trư
trư
ờ
ờ
ng
ng
ứ
ứ
ng
ng
d
d
ụ
ụ
ng
ng
(Windows hay
(Windows hay
Web)
Web)
–
–
Design form
Design form
–
–
Vi
Vi
ế
ế
t
t
mã
mã
d
d
ự
ự
a
a
trên
trên
phân
phân
t
t
í
í
ch
ch
yêu
yêu
c
c
ầ
ầ
u
u
Data Access and Viewing with .NET
Data Access and Viewing with .NET
-
-
Editor:
Editor:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
20
20
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
http://www.
http://www.
thanglong.edu.vn
thanglong.edu.vn
/forum/cmd/0/categ
/forum/cmd/0/categ
ory/hoc
ory/hoc
-
-
tap
tap
-
-
nghien
nghien
-
-
cuu/dot
cuu/dot
-
-
net/tab.aspx
net/tab.aspx