
5/10/2013
1
CHƯƠNG IV:
AD O.N ET
5/10/2013 1
ADO.NET
Tổng quan về ADO.NET
TạokếtnốiđếnCSDL.
Các điềukhiểnràngbuộc danh sách(List-
Bound)
HiểnthịDataSet vào điềukhiển List-Bound
5/10/2013 2
TỔNG QUAN VỀ ADO.NET
ADO.NET cung cấpkhảnăng truy cậpcác
nguồndữliệumộtcáchnhấtquánnhưSQL
Server, dữliệuquản lý thông qua OLE DB và
XML
ADO.NET bao gồmcáctrìnhcungcấpdữliệu
.NET (.NET data provider) cho việckếtnốiđến
cơsởdữliệu, thựcthimộtcâulệnh và truy
xuấtkếtquả.
5/10/2013 3
TỔNG QUAN VỀ ADO.NET
Đốitượng ADO.NET Dataset cũng có thểđược
sửdụng mộtcáchđộclậpvới.NETdata
provider để quảnlýdữliệuthuộcnhững ứng
dụng hoặcnhững nguồntừXML
Lớp ADO.NET đượctìmthấy trong namespace
System.Data
,vàđượctíchhợpvớilớpXML
đượctìmthấytrongnamespace
System.Xml
Connection
5/10/2013 4

5/10/2013
2
MôhìnhđốitượngADO.NET
5/10/2013 5
MôhìnhđốitượngADO.NET
5/10/2013 6
KHÔNG GIAN TÊN
Không gian tên sử dụng trong ADO.NET
gồm:
System.Data
System.Data.Common
System.Data.SqlClient: dùng cho cơ sở dữ
liệu SQL
System.Data.OleDb dùng cho cơ sở dữ liệu
access
5/10/2013 7
CẤU TRÚC CỦA ADO.NET
ADO.NET Components đượcthiếtkếđểquảnlý
việctruycậpdữliệutừnguồndữliệu. Có 2
thành phần chính trong ADO.NET:
ADO.NET Dataset
là thành phầnchínhcủa
kiếntrúckếtnốigiánđoạncủaADO.NET.
Dataset bao gồmtậphợpmộthoặcnhiềuđối
tượng DataTable
5/10/2013 8

5/10/2013
3
CẤU TRÚC CỦA ADO.NET
NET Data Provider -mộttậphợp các thành
phầnbaogồmcácđốitượng
Connection:
cung cấpviệckếtnốiđếnCSDL
Command
:truy cậpcáccâulệnh CSDL
DataReader:
cung cấpmộtluồng truy xuấtDL
DataAdapter:
cung cấpcầunốigiữađối
tượng Dataset và CSDL. DataAdapter sử
dụng đốitượng Command để thựcthicác
câu lệnh SQL
5/10/2013 9
CẤU TRÚC CỦA ADO.NET
5/10/2013 10
Các đối tượng trong ADO.Net
Đối tượng Connection
Chức năng: Thiết lập kết nối đến cơ sở dữ liệu
Kết nối với cơ sở dữ liệu access:
5/10/2013 11
OleDbConnection con;// Khai báo
String strcon;
strCon ="Provider=Microsoft.Jet.OleDb.4.0;Data Source =";
strCon = strCon + Server.MapPath(".") + "\\sv.mdb";
con = new OleDbConnection(strCon);
con.Open();
Kết nối với cơ sở dữ liệu Sql:
5/10/2013 12
SqlConnection con;// Khai báo
String strcon;
strCon=
“Server=ServerName;Database=DBName;uid=userName;pwd=password”;
con = new SqlConnection(strCon);
con.Open();

5/10/2013
4
Cácphươngthức:
ExecuteNonQuery():Thựcthinhữngcâulệnh
như: INSERT, UPDATE or DELETE
ExecuteScalar():Trảvềgiátrịđơntừmộttruyvấndữli
ệu.
ExecuteReader():Trảvềtậprecord.
5/10/2013 13
Các phương thức của
Connection
Phương thức
Open(): mở kết nối
Close(): đóng kết nối
5/10/2013 14
Các đối tượng trong ADO.Net
Đốitượng Command: thựcthicâulệnh SQL
hoặcmột Stored procedure
Một Data Command là mộtthểhiệncủaclass
OleDbCommand hoặc class SqlCommand
5/10/2013 15
Các đối tượng trong ADO.Net
Các phương thức của DataCommand
Cancel(): Huỷ bỏ thực thi của một
SqlCommand
CreateParameter():Tạo một thể hiện mới
cho đối tượng SqlParameter.
5/10/2013 16

5/10/2013
5
Các đối tượng trong ADO.Net
ExecuteNonQuery(): Thựcthimộtcâulệnh T-SQL
dựa vào Connection và trảvềsốmẫutinbịảnh
hưởng nhưUPDATE, INSERT, DELETE.
ExecuteScalar(): Trảvềgiá trịđơn(Giátrịcụthể
như1 table, 1 record, 1 filed …) từmộttruyvấndữ
liệu.
ExecuteReader(): GửiCommandTextđến
Connection và xây dựng mộtSqlDataReader,trảvề
tập các records
5/10/2013 17
Các đối tượng trong ADO.Net
Các thuộc tính của Data Command
Connection:Commandthamchiếuđếnmột
connection, đốitượng này dùng để giao tiếpvới
cơsởdữliệu, nhậnhaytrảvềSqlConnection mà
command sửdụng
CommandText:nhậnhoặctrảvềcâu lệnh
T-Sql hay thủtụcđể thựcthi
5/10/2013 18
Các đối tượng trong ADO.Net
CommandTimeout: nhận hay trả về thời gian
chờ thực thi
CommandType: nhận/ trả về giá trị cho biết
loại commandtext được gán, các giá trị gồm
StoredProcedure, TableDirect,Text. Mặc định là
Text
5/10/2013 19
OleDbCommand cmd = new OleDbCommand(strsql,con);
(với strsql là câu truy vấn cụ thể )
Các đối tượng trong ADO.Net
DataReader: đượcsửdụng trong những ứng
dụng web vớinhững thao tác ngắnvớitừng
yêu cầu, thường là chỉđểhiểnthịdữliệu.
Có 2 loại DataReader:
OleDbDataReader
và
SqlDataReader
.
DataReader cung cấpcáchtruyxuấtdữliệu
forward-only, read – only.
5/10/2013 20

