SlideShare a Scribd company logo
1 of 58
Download to read offline
1
1
1
1
T
Tổ
ổng Quan v
ng Quan về
ề ADO.NET
ADO.NET
2
N
N
N
N
N
N
N
Nộ
ội Dung
i Dung
i Dung
i Dung
i Dung
i Dung
i Dung
i Dung

 ADO.NET
ADO.NET
 Quá trình phát triển
 Đặc điểm ADO.NET
 .NET Data Provider
 DataSet
 Data Source Configuration Wizard
3
Gi
Gi
Gi
Gi
Gi
Gi
Gi
Giớ
ới thi
i thi
i thi
i thi
i thi
i thi
i thi
i thiệ
ệu ADO.NET
u ADO.NET
u ADO.NET
u ADO.NET
u ADO.NET
u ADO.NET
u ADO.NET
u ADO.NET

 A
ActiveX D
Data O
Object .NET (ADO.NET)
 Công nghệ của MS trên .NET Framework
 Phát triển từ nền tảng ADO
 Cung cấp các lớp đối tượng và hàm thư viện phục
vụ cho việc kết nối và xử lý dữ liệu
.NET Application
.NET Application
ADO.NET
ADO.NET
4
Gi
Gi
Gi
Gi
Gi
Gi
Gi
Giớ
ới thi
i thi
i thi
i thi
i thi
i thi
i thi
i thiệ
ệu ADO.NET
u ADO.NET
u ADO.NET
u ADO.NET
u ADO.NET
u ADO.NET
u ADO.NET
u ADO.NET
 Mô hình .NET Framework
Microsoft .NET Framework
Common Language Runtime
Base Classes
Web Services User Interface
Data and XML
ADO.NET
ADO.NET XML ... ...
5
N
N
N
N
N
N
N
Nộ
ội Dung
i Dung
i Dung
i Dung
i Dung
i Dung
i Dung
i Dung
 ADO.NET

 Qu
Quá
á tr
trì
ình ph
nh phá
át tri
t triể
ển
n
 Đặc điểm ADO.NET
 .NET Data Provider
 DataSet
 Data Source Configuration Wizard
6
Qu
Quá
á tr
trì
ình ph
nh phá
át tri
t triể
ển
n
 Native API
 ODBC
Application
Database
DB API
Application
ODBC
Driver
Driver
Driver
Driver
Driver
Driver
Database
ODBC API
DB API
7
ADO
OLE DB
Qu
Quá
á tr
trì
ình ph
nh phá
át tri
t triể
ển
n
 ADO, OLE DB
Application
ODBC
Driver
Driver
Driver
Driver
Driver
Driver
Provider
Provider
Provider
Provider
Provider
Provider
Provider
Provider
Relational Data
Non-Relational Data
OLE: Object Linking and Embedding
OLE: Object Linking and Embedding
8
Qu
Quá
á tr
trì
ình ph
nh phá
át tri
t triể
ển
n
ADO.NET
ADO.NET
9
N
N
N
N
N
N
N
Nộ
ội Dung
i Dung
i Dung
i Dung
i Dung
i Dung
i Dung
i Dung
 ADO.NET
 Quá trình phát triển

 Đ
Đặ
ặc đi
c điể
ểm ADO.NET
m ADO.NET
 .NET Data Provider
 DataSet
 Data Source Configuration Wizard
10
ADO.NET
ADO.NET
ADO.NET
ADO.NET
ADO.NET
ADO.NET
ADO.NET
ADO.NET
 ADO.NET là một phần của .NET Framework
 Thư viện lớp có chức năng thao t
thao tá
ác d
c dữ
ữ li
liệ
ệu
u trong
ngôn ngữ MS.NET
 ADO.NET là dạng “Disconnected
Disconnected”
 Cho phép lấy cả một cấu trúc phức tạp của DL từ
CSDL, sau đó ngắt kết nối rồi mới thực hiện thao
tác xử lý!
 ADO luôn phải duy trì kết nối trong suốt quá trình
làm việc.
11
Môi tr
Môi tr
Môi tr
Môi trư
Môi tr
Môi tr
Môi tr
Môi trườ
ờng
ng
ng
ng
ng
ng
ng
ng “
“connected
connected
connected
connected
connected
connected
connected
connected”
”
 Mỗi user có một kết nối cố định tới data source
 Ưu điểm
 Môi trường được bảo vệ tốt
 Kiểm soát được sự đồng bộ
 Dữ liệu luôn được mới
 Nhược
 Phải có một kết nối mạng cố định
 Scalability
12
Môi tr
Môi tr
Môi tr
Môi trư
Môi tr
Môi tr
Môi tr
Môi trườ
ờng
ng
ng
ng
ng
ng
ng
ng “
“disconnected
disconnected
disconnected
disconnected
disconnected
disconnected
disconnected
disconnected”
”
 Một tập con của dữ liệu trung tâm được sao chép
và bổ sung độc lập, sau đó sẽ được merge lại
vào dữ liệu trung tâm.
 Ưu điểm
 Có thể làm việc bất cứ lúc nào, cũng như có thể kết
nối bất kỳ vào Data Source
 Cho phép user khác có thể kết nối
 Nâng cao hiệu suất thực hiện của ứng dụng
 Khuyết
 Dữ liệu không được cập nhật một cách nhanh nhất
 Sự tranh chấp có thể xuất hiện và phải giải quyết
13
ADO.NET
ADO.NET
ADO.NET
ADO.NET
ADO.NET
ADO.NET
ADO.NET
ADO.NET
 ADO.NET mạnh mẽ
 Kế thừa các ưu điểm của ADO
 Kết hợp với ý tưởng thiết kế hoàn toàn mới
 Đặc điểm nổi bật
 Thiết kế hoàn toàn dựa vào XML
 Chuẩn giao tiếp dữ liệu phổ biến nhất trên môi
trường Internet hiện nay
 Thiết kế hoàn toàn hướng đối tượng
 Đặc trưng của thư viện .NET Framework
14
ADO.NET vs. ADO
ADO.NET vs. ADO
ADO.NET vs. ADO
ADO.NET vs. ADO
ADO.NET vs. ADO
ADO.NET vs. ADO
ADO.NET vs. ADO
ADO.NET vs. ADO
Đ
Đặ
ặc Đi
c Điể
ểm
m ADO
ADO ADO.NET
ADO.NET
Data xử lý được
đưa vào bộ nhớ
dưới dạng
Recordset : tương đương 1 bảng
dữ liệu trong database
Dataset : tương đương 1 database
Duyệt dữ liệu Recordset chỉ cho phép duyệt tuần
tự, từng dòng một.
Dataset : duyệt “tự do, ngẫu
nhiên”, truy cập thẳng tới bảng,
dòng, cột mong muốn.
Dữ liệu ngắt kết
nối
Recordset thiên về hướng kết nối,
nên việc hỗ trợ ngắt kết nối không
mạnh
Dataset hỗ trợ hoàn toàn ngắt kết
nối
Trao đổi dữ liệu
qua Internet
Khả năng trao đổi dữ liệu ADO
qua Internet thường có nhiều hạn
chế. Do dùng chuẩn COM
ADO.NET trao đổi dữ liệu qua
Internet rất dễ dàng vì ADO.NET
được thiết kế theo chuẩn XML, là
chuẩn dữ liệu chính được sử dụng
để trao đổi trên Internet.
15
ADO.NET
ADO.NET
ADO.NET
ADO.NET
ADO.NET
ADO.NET
ADO.NET
ADO.NET
 Kiến trúc của ADO.NET gồm 2 phần chính

 Ph
Phầ
ần k
n kế
ết n
t nố
ối
i: sử dụng khi kết nối CSDL và thao
tác dữ liệu, phải thực hiện kết nối khi thao tác

 Connection
Connection: quản lý việc đóng mở DB
 ???Connection: SqlConnection, OleDbConnection

 Command
Command: lệnh truy vấn, tương tác dữ liệu khi đang
lập kết nối
 ???Command: SqlCommand, OleDbCommand

 DataReader
DataReader: đọc dữ liệu, chỉ xử lý 1 dòng dữ liệu tại
một thời điểm
 ???DataReader: SqlDataReader, OleDbDataReader

 DataAdapter
DataAdapter: cầu nối giữa DB và DataSet
16
ADO.NET
ADO.NET
ADO.NET
ADO.NET
ADO.NET
ADO.NET
ADO.NET
ADO.NET

 Ph
Phầ
ần ng
n ngắ
ắt k
t kế
ết n
t nố
ối
i: là DataSet
DataSet
 DataSet không quan tâm đến DB thuộc kiểu gì, và
lấy dữ liệu từ DataAdapter để xử lý
 DataSet xem như một DB trong bộ nhớ: bảng,
quan hệ…
 DataSet có các thành phần con như
 DataTable
 DataRow
 DataColumn
 DataRelation
 Các đối tượng nhóm: DataTableCollection,
DataRowCollection, DataColumnCollection
17
Mô h
Mô h
Mô h
Mô h
Mô h
Mô h
Mô h
Mô hì
ình đ
nh đ
nh đ
nh đ
nh đ
nh đ
nh đ
nh đố
ối t
i t
i t
i tư
i t
i t
i t
i tượ
ợng ADO.NET
ng ADO.NET
ng ADO.NET
ng ADO.NET
ng ADO.NET
ng ADO.NET
ng ADO.NET
ng ADO.NET
18
C
C
C
C
C
C
C
Cá
ác l
c l
c l
c l
c l
c l
c l
c lớ
ớp th
p th
p th
p thư vi
vi
vi
vi
p th
p th
p th
p thư vi
vi
vi
việ
ện ADO.NET
n ADO.NET
n ADO.NET
n ADO.NET
n ADO.NET
n ADO.NET
n ADO.NET
n ADO.NET
 System.Data.OleDb: Access, SQL Server, Oracle
 System.Data.SqlClient: SQL Server
 System.Data.OracleClient: Oracle
 Đặc điểm:
 Cả ba thư viện trên về giao tiếp lập trình là giống
nhau
 Dùng thư viện SqlClient truy xuất SQL Server
nhanh hơn OleDb
 Tương tự cho OracleClient
19
N
N
N
N
N
N
N
Nộ
ội Dung
i Dung
i Dung
i Dung
i Dung
i Dung
i Dung
i Dung
 ADO.NET
 Quá trình phát triển
 Đặc điểm ADO.NET
 .NET Data Provider
NET Data Provider
 DataSet
 Data Source Configuration Wizard
20
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
 Mô hình .NET Data Provider
21
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider -
-
-
-
-
-
-
- Connection
Connection
Connection
Connection
Connection
Connection
Connection
Connection
Application Database
Connection
Thuộc tính  Phương thức
• ConnectionString: chuỗi kết nối DataSource
• Open(): thiết lập kết nối đến DS
• Close(): đóng kết nối với DS
22
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider -
-
-
-
-
-
-
- Connection
Connection
Connection
Connection
Connection
Connection
Connection
Connection
 Mô tả CSDL sử dụng minh họa
Đặc điểm Thông tin
DBMS MS SQL Server Express 2005
DB 1 CSDL StudentDB
DB 2 CSDL Northwind
23
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider -
-
-
-
-
-
-
- Connection
Connection
Connection
Connection
Connection
Connection
Connection
Connection
SqlConnection cnn = new SqlConnection();
cnn.ConnectionString = “server= .SQLEXPRESS;
database=Northwind; Trusted_Connection=true”;
cnn.Open();
//xử lý trong quá trình kết nối
…
cnn.Close();
SQL Connection
Thay bằng “localhost”
trong SQL Server 2005
24
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider -
-
-
-
-
-
-
- Connection
Connection
Connection
Connection
Connection
Connection
Connection
Connection
ODBC/OLE DB Connection (*)
Database
MS Access Driver = {Microsoft Access Driver (*.mdb)};
DBQ = đường dẫn file access
Provider=Microsoft.Jet.OLEDB.4.0; Data Source
= đường dẫn file access
SQL Server
Driver = {SQLServer}; Server = ServerName;
Database= DatabaseName; Uid=Username;
Pwd=Password;
Provider= SQLOLEDB; Data Source=ServerName;
Initial Catalog=DatabaseName; UserId=Username;
Password=Password
(*): Xem thêm chuỗi kết nối trong: http://www.connectionstrings.com/?carrier=sqlserver2005
25
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider -
-
-
-
-
-
-
- Connection
Connection
Connection
Connection
Connection
Connection
Connection
Connection
OleDbConnection cnn = new OleDbSqlConnection();
cnn.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;
Data Source =Sinhvien.mdb”;
cnn.Open();
//xử lý trong quá trình kết nối
…
cnn.Close();
OLEDB Connection
26
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider -
-
-
-
-
-
-
- Command
Command
Command
Command
Command
Command
Command
Command
Application Database
Connection
Command
Thuộc tính  Phương thức
• Connection: kết nối để thực hiện lệnh
• CommandText: câu lệnh cần thực hiện
• CommandType: loại câu lệnh (Text,TableDirect, StoredProc)
• ExecuteScalar(): thực hiện câu lệnh và trả về giá trị đơn
• ExecuteNonQuery(): gọi các lệnh SQL, store, trả về số row bị
tác động (Insert, Update, Delete…)
• ExecuteReader(): thực hiện lệnh và trả về DataReader
27
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider -
-
-
-
-
-
-
- Command
Command
Command
Command
Command
Command
Command
Command
SqlConnection cnn = new SqlConnection();
cnn.ConnectionString = “server=.SQLEXPRESS;
database=Northwind; Trusted_connection=true”;
SqlCommand cmd = new SqlCommand(“”,cnn);
cmd.CommandText = “Select COUNT(*) From Customers”;
cnn.Open();
int count = (int) cmd.ExecuteScalar();
cnn.Close();
SQL Command
28
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider -
-
-
-
-
-
-
- Command
Command
Command
Command
Command
Command
Command
Command
SqlConnection conn = new SqlConnection();
conn.ConnectionString = Data source=.SQLEXPRESS;+
Initial Catalog=StudentDB
StudentDB; Integrated security=yes;;
SqlCommand cmd = new SqlCommand();
cmd.CommandText =
Insert into Sinhvien values(007,'Le Nam','1/1/1980',1,null,null);
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
SQL Command
29
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider -
-
-
-
-
-
-
- Command
Command
Command
Command
Command
Command
Command
Command
 Tham số hóa câu lệnh
 Một câu lệnh được sử dụng nhiều lần!
…
cmd.CommandText = Insert into Sinhvien
Insert into Sinhvien
values(@MS,@HT,@NS,@GT,@DC,@DT)
values(@MS,@HT,@NS,@GT,@DC,@DT);
cmd.Parameters.Add(@MS
@MS, SqlDbType.Int);
cmd.Parameters.Add(@HT
@HT, SqlDbType.NVarChar);
cmd.Parameters.Add(@NS
@NS,SqlDbType.DateTime);
cmd.Parameters.Add(@GT
@GT,SqlDbType.Bit);
cmd.Parameters.Add(@DC
@DC,SqlDbType.NVarChar);
cmd.Parameters.Add(@DT
@DT,SqlDbType.Int);
SQL Command - Param
Khai báo
tham số
Khai báo
tham số
Câu lệnh
được tham
số hóa
Câu lệnh
được tham
số hóa
Kiểu dữ liệu
Kiểu dữ liệu
Tên field
Tên field
30
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider -
-
-
-
-
-
-
- Command
Command
Command
Command
Command
Command
Command
Command
…
cmd.Parameters[@MS
@MS].Value = 999;
cmd.Parameters[@HT
@HT].Value = Nguyen Ha Giang;
cmd.Parameters[@NS
@NS].Value = new DateTime(1978,12,4);
cmd.Parameters[@GT
@GT].Value = 1;
cmd.Parameters[@DC
@DC].Value = “Tan Binh;
cmd.Parameters[@DT
@DT].Value = 5120791;
conn.Open();
int count = (int) cmd.ExecuteNonQuery();
conn.Close();
SQL Command - Param
Truyền giá
trị cho các
tham số
tương
ứng
Truyền giá
trị cho các
tham số
tương
ứng
31
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider -
-
-
-
-
-
-
- DataReader
DataReader
DataReader
DataReader
DataReader
DataReader
DataReader
DataReader
Application Database
Connection
Command
DataReader
Thuộc tính  Phương thức
• HasRow: cho biết câu truy vấn có trả về dữ liệu
• Read(): đọc một mẫu tin
• [i]: truy xuất đến cột i của mẫu tin được đọc
• Close(): đóng
Truy xuất tuần tự
Chỉ đọc dữ liệu
Cơ chế kết nối
32
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider -
-
-
-
-
-
-
- DataReader
DataReader
DataReader
DataReader
DataReader
DataReader
DataReader
DataReader
…
SqlCommand cmd = new SqlCommand(Select *
Select *
From Sinhvien
From Sinhvien, conn);
SqlDataReader reader
reader;
conn.Open();
reader
reader = cmd.ExecuteReader
ExecuteReader();
while (reader
reader.Read())
listBox1.Items.Add(reader
reader[Hoten]);
reader
reader.Close();
conn.Close();
DataReader
Thực thi lệnh truy vấn
Thực thi lệnh truy vấn
Đọc một dòng
Đọc một dòng
Lấy cột Hoten của
dòng vừa đọc
Lấy cột Hoten của
dòng vừa đọc
33
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider -
-
-
-
-
-
-
- DataAdapter
DataAdapter
DataAdapter
DataAdapter
DataAdapter
DataAdapter
DataAdapter
DataAdapter
Data Source
Data Source
DataAdapter
DataTable
DataTable
DataSet
DataSet
DataAdapter
Fill
Fill
Update
Update
Update
Update
Fill
Fill
SelectCommand
SelectCommand
UpdateCommand
UpdateCommand
SelectCommand
SelectCommand
UpdateCommand
UpdateCommand
34
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider -
-
-
-
-
-
-
- DataAdapter
DataAdapter
DataAdapter
DataAdapter
DataAdapter
DataAdapter
DataAdapter
DataAdapter
Thuộc tính  Phương thức
• Fill
Fill(DataSet): sử dụng SelectCommand lấy dữ liệu từ Data Source
đổ vào Data Set
• Update
Update(DataSet): InsertCommand, UpdateCommand,
DeleteCommand cập nhật dữ liệu trong DataSet vào DataSource
DataBase DataSet
DataAdapter
Fill Fill
Update Update
35
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider
NET Data Provider -
-
-
-
-
-
-
- DataAdapter
DataAdapter
DataAdapter
DataAdapter
DataAdapter
DataAdapter
DataAdapter
DataAdapter
string strConn=Server=.SQLEXPRESS; Database=StudentDB;
Trusted_connection=true;
SqlDataAdapter adapter = new
SqlDataAdapter(Select * From Sinhvien, strConn);
DataSet ds = new DataSet();
adapter.Fill(ds);
// thao tác trên dataset
…
adapter.Update(ds);
DataAdapter
36
N
N
N
N
N
N
N
Nộ
ội Dung
i Dung
i Dung
i Dung
i Dung
i Dung
i Dung
i Dung
 ADO.NET
 Quá trình phát triển
 Đặc điểm ADO.NET
 .NET Data Provider

 DataSet
DataSet
 Data Source Configuration Wizard
37
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
 Là phần cơ sở dữ liệu được lưu trữ trong bộ
nhớ (in-memory database)
 Cơ chế không kết nối
 Nhờ đối tượng DataAdapter làm trung gian
 Hỗ trợ đầy đủ đặc tính XML
 Thao tác được với tất cả mô hình lưu trữ hiện
tại:
 Flat file database: plain text, mixed text, binary text
 Relational database.
 Hierarchical: data is organized into a tree-like structure
38
DataSet vs. DataReader
DataSet vs. DataReader
DataSet vs. DataReader
DataSet vs. DataReader
DataSet vs. DataReader
DataSet vs. DataReader
DataSet vs. DataReader
DataSet vs. DataReader
Supported by Visual Studio
.NET tools
Slower access
Forward-only
Bind to one control only
Based on one SQL statement
from one database
Read-only
Manually coded
Faster access
Forward and backward
scanning of data
Bind to multiple controls
Includes multiple tables from
different databases
Read/write access to data
DataReader
DataSet
Disconnected Connected
39
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
 Các thành phần
 Tables
 Relations
DataSet
DataSet Tables
Tables
Tables
DataTable
Relations
Relations
DataRelation
DataRelation
DataRow(s)
DataColumn
Constraint(s)
DataTable
DataTable
40
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
.Tables[...]
.Relations[...]
...
DataSet
DataSet
.Tables[...]
.Tables[...]
.Relations[...]
.Relations[...]
...
...
DataTable
.Columns[..]
.Rows[..]
DataTable
.Columns[..]
.Rows[..]
DataTable
.Columns[...]
.Rows[...]
.DefaultView
...
DataTable
DataTable
.Columns[...]
.Columns[...]
.Rows[...]
.Rows[...]
.DefaultView
.DefaultView
...
DataRow
DataRow
DataRow
DataRow
data
data
data
DataColumn
DataColumn
schema
schema
schema
DataColumn
DataColumn
DataView
DataRelation
DataRelation
DataRelation
DataRelation
41
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet -
-
-
-
-
-
-
- DataTable
DataTable
DataTable
DataTable
DataTable
DataTable
DataTable
DataTable
 DataTable: thể hiện một bảng trong CSDL
Thuộc tính  Phương thức
• TableName: tên của bảng dữ liệu
• Columns
Columns: danh sách các cột
• Rows
Rows: danh sách các mẫu tin
• PrimaryKey: danh sách các cột là khóa chính
• NewRow
NewRow(): tạo một mẫu tin mới
42
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet -
-
-
-
-
-
-
- DataColumn
DataColumn
DataColumn
DataColumn
DataColumn
DataColumn
DataColumn
DataColumn
 DataColumn: đại diện cho một cột trong bảng
 ColumnName: tên cột
 DataType: kiểu dữ liệu
DataTable
DataTable
Column1
Column1 Column2
Column2 … Column n
Column n
43
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet -
-
-
-
-
-
-
- DataRow
DataRow
DataRow
DataRow
DataRow
DataRow
DataRow
DataRow
 DataRow: đại diện cho mẫu tin trong bảng
 RowState: trạng thái Added, Modified, Deleted,…
 [i]: truy xuất đến cột i
 Delete(): đánh dấu xóa mẫu tin
DataTable
DataTable
Column1 Column2 … Column n
abc xyz omt
… … …
… … …
Row
44
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
string strConn = data source=.SQLEXPRESS; Initial
Catalog=StudentDB; integrated security=yes;;
string strCmd = Select * From Sinhvien;
SqlDataAdapter da = new SqlDataAdapter(strCmd, strConn);
SqlCommandBuilder builder = new SqlCommandBuilder(da);
DataSet ds = new DataSet();
da.Fill(ds);
foreach (DataRow dr in ds.Tables[0].Rows)
dr[Ngaysinh] = DateTime.Now;
da.Update(ds);
DataSet – Update Row
VD: Cập nhật tất cả các
cột với ngày giờ hiện
hành
45
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
DataSet
…
SqlDataAdapter da = new SqlDataAdapter(strCmd, strConn);
SqlCommandBuilder builder = new SqlCommandBuilder(da);
DataSet ds = new DataSet();
da.Fill(ds);
DataTable table = ds.Tables[0];
DataRow[] rows = table.Select(Ngaysinh'1/1/1980');
foreach (DataRow r in rows)
r.Delete();
da.Update(ds);
DataSet – Delete Row
Lấy các dòng có
ngày sinh trước
1/1/1980
Lấy các dòng có
ngày sinh trước
1/1/1980
Đánh dấu xóa
các dòng này
Đánh dấu xóa
các dòng này
46
N
N
N
N
N
N
N
Nộ
ội Dung
i Dung
i Dung
i Dung
i Dung
i Dung
i Dung
i Dung
 ADO.NET
 Quá trình phát triển
 Đặc điểm ADO.NET
 .NET Data Provider
 DataSet

 Data Source Configuration Wizard
Data Source Configuration Wizard
47
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
 Trong VS.NET 2005 có chức năng Data Source
Configuration Wizard
 Nhanh chóng thiết lập Data Source cho project
 Xây dựng form hiển thị và thao tác dữ liệu
 Thông qua thao tác kéo thả từ Data Source
48
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
 Tạo một ứng dụng Windows Application
 Trong menu Data | Add New Data Source…
49
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
 Tạo New Connection
50
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
 Hoàn tất khai báo Data Source
Chuỗi kết nối
51
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
 Lưu chuỗi kết nối trong file cấu hình
Tên của chuỗi kết nối
52
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
 Chọn bảng dữ liệu
Bảng Sinhvien
và các field
Tên của DataSet
53
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
 Wizard sẽ tạo ứng dụng với Data Source
Data Sources Windows
Form in Design View
54
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
 Kéo thả binding control vào Form
 Trong cửa sổ Data Source
 Chọn bảng cần sử dụng
 Thiết lập view là DataGridView hay Details
 Kích chọn vào dấu mũi tên xuống sau tên bảng
55
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
 Kéo Table thả vào Form
 Tự động tạo các binding control cho table
Detail
56
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
 Bổ sung DataGridView cho Form
 Thay đổi Table sang DataGrid
 Kéo Table trong Data Source thả vào Form
DataGridView
57
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
Data Source Configuration Wizard
 Kết quả ứng dụng
Chưa viết code!
58

More Related Content

What's hot

Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...
Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...
Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...MasterCode.vn
 
Bài 6: Điều khiển DetailsView, FormView, ListView, DataPager
Bài 6: Điều khiển DetailsView, FormView, ListView, DataPagerBài 6: Điều khiển DetailsView, FormView, ListView, DataPager
Bài 6: Điều khiển DetailsView, FormView, ListView, DataPagerMasterCode.vn
 
Tu hoc microsoft asp.net
Tu hoc microsoft asp.netTu hoc microsoft asp.net
Tu hoc microsoft asp.netnamhh1984ag
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...MasterCode.vn
 
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất NghệMvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất NghệMasterCode.vn
 
ASP.NET OverView
ASP.NET OverViewASP.NET OverView
ASP.NET OverViewNăm Tàn
 
Bài 2: Hướng dẫn làm việc với các điều khiển - Giáo trình FPT - Có ví dụ kèm ...
Bài 2: Hướng dẫn làm việc với các điều khiển - Giáo trình FPT - Có ví dụ kèm ...Bài 2: Hướng dẫn làm việc với các điều khiển - Giáo trình FPT - Có ví dụ kèm ...
Bài 2: Hướng dẫn làm việc với các điều khiển - Giáo trình FPT - Có ví dụ kèm ...MasterCode.vn
 
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTBÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTMasterCode.vn
 
Trong bài viết hôm nay
Trong bài viết hôm nayTrong bài viết hôm nay
Trong bài viết hôm nayledoanduc
 
Bài 4: Template & điều hướng trang Web - Giáo trình FPT - Có ví dụ kèm theo
Bài 4: Template & điều hướng trang Web - Giáo trình FPT - Có ví dụ kèm theoBài 4: Template & điều hướng trang Web - Giáo trình FPT - Có ví dụ kèm theo
Bài 4: Template & điều hướng trang Web - Giáo trình FPT - Có ví dụ kèm theoMasterCode.vn
 
Chuong 07_ gắng kết dữ liệu asp.net
Chuong 07_ gắng kết dữ liệu asp.netChuong 07_ gắng kết dữ liệu asp.net
Chuong 07_ gắng kết dữ liệu asp.netThuyNguyenThi25
 
Pdf bai 6 làm việc với truy vấn cơ bản-slide 06-quan tri csdl voi access-mast...
Pdf bai 6 làm việc với truy vấn cơ bản-slide 06-quan tri csdl voi access-mast...Pdf bai 6 làm việc với truy vấn cơ bản-slide 06-quan tri csdl voi access-mast...
Pdf bai 6 làm việc với truy vấn cơ bản-slide 06-quan tri csdl voi access-mast...MasterCode.vn
 
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTBài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTMasterCode.vn
 
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPTBài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPTMasterCode.vn
 
Bài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPT
Bài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPTBài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPT
Bài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPTMasterCode.vn
 
Bài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýBài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýMasterCode.vn
 

What's hot (20)

Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...
Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...
Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...
 
Bài 6: Điều khiển DetailsView, FormView, ListView, DataPager
Bài 6: Điều khiển DetailsView, FormView, ListView, DataPagerBài 6: Điều khiển DetailsView, FormView, ListView, DataPager
Bài 6: Điều khiển DetailsView, FormView, ListView, DataPager
 
Tu hoc microsoft asp.net
Tu hoc microsoft asp.netTu hoc microsoft asp.net
Tu hoc microsoft asp.net
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
 
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất NghệMvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ
 
Lap trinh asp.net
Lap trinh asp.netLap trinh asp.net
Lap trinh asp.net
 
ASP.NET OverView
ASP.NET OverViewASP.NET OverView
ASP.NET OverView
 
Bài 2: Hướng dẫn làm việc với các điều khiển - Giáo trình FPT - Có ví dụ kèm ...
Bài 2: Hướng dẫn làm việc với các điều khiển - Giáo trình FPT - Có ví dụ kèm ...Bài 2: Hướng dẫn làm việc với các điều khiển - Giáo trình FPT - Có ví dụ kèm ...
Bài 2: Hướng dẫn làm việc với các điều khiển - Giáo trình FPT - Có ví dụ kèm ...
 
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTBÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
 
Trong bài viết hôm nay
Trong bài viết hôm nayTrong bài viết hôm nay
Trong bài viết hôm nay
 
Bài 4: Template & điều hướng trang Web - Giáo trình FPT - Có ví dụ kèm theo
Bài 4: Template & điều hướng trang Web - Giáo trình FPT - Có ví dụ kèm theoBài 4: Template & điều hướng trang Web - Giáo trình FPT - Có ví dụ kèm theo
Bài 4: Template & điều hướng trang Web - Giáo trình FPT - Có ví dụ kèm theo
 
Bài tập thực hành C#
Bài tập thực hành C#Bài tập thực hành C#
Bài tập thực hành C#
 
Mô hình 3 lớp trong C#
Mô hình 3 lớp trong C#Mô hình 3 lớp trong C#
Mô hình 3 lớp trong C#
 
Chuong 07_ gắng kết dữ liệu asp.net
Chuong 07_ gắng kết dữ liệu asp.netChuong 07_ gắng kết dữ liệu asp.net
Chuong 07_ gắng kết dữ liệu asp.net
 
Pdf bai 6 làm việc với truy vấn cơ bản-slide 06-quan tri csdl voi access-mast...
Pdf bai 6 làm việc với truy vấn cơ bản-slide 06-quan tri csdl voi access-mast...Pdf bai 6 làm việc với truy vấn cơ bản-slide 06-quan tri csdl voi access-mast...
Pdf bai 6 làm việc với truy vấn cơ bản-slide 06-quan tri csdl voi access-mast...
 
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTBài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
 
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPTBài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
 
Bài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPT
Bài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPTBài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPT
Bài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPT
 
Slides1
Slides1Slides1
Slides1
 
Bài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýBài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lý
 

Similar to 01 tong-quan-ado

S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...zzsunzz
 
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#Dao Uit
 
6.adapterset
6.adapterset6.adapterset
6.adaptersetDao Uit
 
Bai 1 lam quen voi sql 2008
Bai 1 lam quen voi sql 2008Bai 1 lam quen voi sql 2008
Bai 1 lam quen voi sql 2008Phương Nhung
 
01 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp0101 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp01huynhtrong774129
 
ERD - Database Design
ERD - Database DesignERD - Database Design
ERD - Database Designyht4ever
 
bai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.pptbai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.pptHungHuyNguyen3
 
Chuong 1_Gioo thieu DB.pdf
Chuong 1_Gioo thieu DB.pdfChuong 1_Gioo thieu DB.pdf
Chuong 1_Gioo thieu DB.pdfCriz20
 
Web course php & csdl
Web course   php & csdlWeb course   php & csdl
Web course php & csdl慂 志慂
 
Bài 2: Hệ quản trị cơ sở dữ liệu
Bài 2: Hệ quản trị cơ sở dữ liệuBài 2: Hệ quản trị cơ sở dữ liệu
Bài 2: Hệ quản trị cơ sở dữ liệuChâu Trần
 
1 giới thiệu-cài đặt oracle
1 giới thiệu-cài đặt oracle1 giới thiệu-cài đặt oracle
1 giới thiệu-cài đặt oraclehoangdinhhanh88
 
Cơ Sở Dữ Liệu - Chương 1
Cơ Sở Dữ Liệu - Chương 1Cơ Sở Dữ Liệu - Chương 1
Cơ Sở Dữ Liệu - Chương 1Nguyễn Trọng
 

Similar to 01 tong-quan-ado (20)

S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
 
C# co ban 9
C# co ban 9C# co ban 9
C# co ban 9
 
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
 
Aspnet 3.5 _02
Aspnet 3.5 _02Aspnet 3.5 _02
Aspnet 3.5 _02
 
Cs06
Cs06Cs06
Cs06
 
6.adapterset
6.adapterset6.adapterset
6.adapterset
 
Bai 1 lam quen voi sql 2008
Bai 1 lam quen voi sql 2008Bai 1 lam quen voi sql 2008
Bai 1 lam quen voi sql 2008
 
Ung dung web chuong 6
Ung dung web  chuong 6Ung dung web  chuong 6
Ung dung web chuong 6
 
01 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp0101 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp01
 
LinQ
LinQLinQ
LinQ
 
Laptrinh jdbc
Laptrinh jdbcLaptrinh jdbc
Laptrinh jdbc
 
ERD - Database Design
ERD - Database DesignERD - Database Design
ERD - Database Design
 
04 ado
04 ado04 ado
04 ado
 
bai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.pptbai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.ppt
 
Chuong 1_Gioo thieu DB.pdf
Chuong 1_Gioo thieu DB.pdfChuong 1_Gioo thieu DB.pdf
Chuong 1_Gioo thieu DB.pdf
 
Web course php & csdl
Web course   php & csdlWeb course   php & csdl
Web course php & csdl
 
Bài 2: Hệ quản trị cơ sở dữ liệu
Bài 2: Hệ quản trị cơ sở dữ liệuBài 2: Hệ quản trị cơ sở dữ liệu
Bài 2: Hệ quản trị cơ sở dữ liệu
 
1 giới thiệu-cài đặt oracle
1 giới thiệu-cài đặt oracle1 giới thiệu-cài đặt oracle
1 giới thiệu-cài đặt oracle
 
NoSql Database
NoSql DatabaseNoSql Database
NoSql Database
 
Cơ Sở Dữ Liệu - Chương 1
Cơ Sở Dữ Liệu - Chương 1Cơ Sở Dữ Liệu - Chương 1
Cơ Sở Dữ Liệu - Chương 1
 

Recently uploaded

chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfVyTng986513
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxendkay31
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxnhungdt08102004
 
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdfNQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdfNguyễn Đăng Quang
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................TrnHoa46
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...hoangtuansinh1
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Nguyen Thanh Tu Collection
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líDr K-OGN
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxAnAn97022
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdftohoanggiabao81
 

Recently uploaded (20)

chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
 
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdfNQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptx
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdf
 

01 tong-quan-ado

  • 1. 1 1 1 1 T Tổ ổng Quan v ng Quan về ề ADO.NET ADO.NET
  • 2. 2 N N N N N N N Nộ ội Dung i Dung i Dung i Dung i Dung i Dung i Dung i Dung ADO.NET ADO.NET Quá trình phát triển Đặc điểm ADO.NET .NET Data Provider DataSet Data Source Configuration Wizard
  • 3. 3 Gi Gi Gi Gi Gi Gi Gi Giớ ới thi i thi i thi i thi i thi i thi i thi i thiệ ệu ADO.NET u ADO.NET u ADO.NET u ADO.NET u ADO.NET u ADO.NET u ADO.NET u ADO.NET A ActiveX D Data O Object .NET (ADO.NET) Công nghệ của MS trên .NET Framework Phát triển từ nền tảng ADO Cung cấp các lớp đối tượng và hàm thư viện phục vụ cho việc kết nối và xử lý dữ liệu .NET Application .NET Application ADO.NET ADO.NET
  • 4. 4 Gi Gi Gi Gi Gi Gi Gi Giớ ới thi i thi i thi i thi i thi i thi i thi i thiệ ệu ADO.NET u ADO.NET u ADO.NET u ADO.NET u ADO.NET u ADO.NET u ADO.NET u ADO.NET Mô hình .NET Framework Microsoft .NET Framework Common Language Runtime Base Classes Web Services User Interface Data and XML ADO.NET ADO.NET XML ... ...
  • 5. 5 N N N N N N N Nộ ội Dung i Dung i Dung i Dung i Dung i Dung i Dung i Dung ADO.NET Qu Quá á tr trì ình ph nh phá át tri t triể ển n Đặc điểm ADO.NET .NET Data Provider DataSet Data Source Configuration Wizard
  • 6. 6 Qu Quá á tr trì ình ph nh phá át tri t triể ển n Native API ODBC Application Database DB API Application ODBC Driver Driver Driver Driver Driver Driver Database ODBC API DB API
  • 7. 7 ADO OLE DB Qu Quá á tr trì ình ph nh phá át tri t triể ển n ADO, OLE DB Application ODBC Driver Driver Driver Driver Driver Driver Provider Provider Provider Provider Provider Provider Provider Provider Relational Data Non-Relational Data OLE: Object Linking and Embedding OLE: Object Linking and Embedding
  • 8. 8 Qu Quá á tr trì ình ph nh phá át tri t triể ển n ADO.NET ADO.NET
  • 9. 9 N N N N N N N Nộ ội Dung i Dung i Dung i Dung i Dung i Dung i Dung i Dung ADO.NET Quá trình phát triển Đ Đặ ặc đi c điể ểm ADO.NET m ADO.NET .NET Data Provider DataSet Data Source Configuration Wizard
  • 10. 10 ADO.NET ADO.NET ADO.NET ADO.NET ADO.NET ADO.NET ADO.NET ADO.NET ADO.NET là một phần của .NET Framework Thư viện lớp có chức năng thao t thao tá ác d c dữ ữ li liệ ệu u trong ngôn ngữ MS.NET ADO.NET là dạng “Disconnected Disconnected” Cho phép lấy cả một cấu trúc phức tạp của DL từ CSDL, sau đó ngắt kết nối rồi mới thực hiện thao tác xử lý! ADO luôn phải duy trì kết nối trong suốt quá trình làm việc.
  • 11. 11 Môi tr Môi tr Môi tr Môi trư Môi tr Môi tr Môi tr Môi trườ ờng ng ng ng ng ng ng ng “ “connected connected connected connected connected connected connected connected” ” Mỗi user có một kết nối cố định tới data source Ưu điểm Môi trường được bảo vệ tốt Kiểm soát được sự đồng bộ Dữ liệu luôn được mới Nhược Phải có một kết nối mạng cố định Scalability
  • 12. 12 Môi tr Môi tr Môi tr Môi trư Môi tr Môi tr Môi tr Môi trườ ờng ng ng ng ng ng ng ng “ “disconnected disconnected disconnected disconnected disconnected disconnected disconnected disconnected” ” Một tập con của dữ liệu trung tâm được sao chép và bổ sung độc lập, sau đó sẽ được merge lại vào dữ liệu trung tâm. Ưu điểm Có thể làm việc bất cứ lúc nào, cũng như có thể kết nối bất kỳ vào Data Source Cho phép user khác có thể kết nối Nâng cao hiệu suất thực hiện của ứng dụng Khuyết Dữ liệu không được cập nhật một cách nhanh nhất Sự tranh chấp có thể xuất hiện và phải giải quyết
  • 13. 13 ADO.NET ADO.NET ADO.NET ADO.NET ADO.NET ADO.NET ADO.NET ADO.NET ADO.NET mạnh mẽ Kế thừa các ưu điểm của ADO Kết hợp với ý tưởng thiết kế hoàn toàn mới Đặc điểm nổi bật Thiết kế hoàn toàn dựa vào XML Chuẩn giao tiếp dữ liệu phổ biến nhất trên môi trường Internet hiện nay Thiết kế hoàn toàn hướng đối tượng Đặc trưng của thư viện .NET Framework
  • 14. 14 ADO.NET vs. ADO ADO.NET vs. ADO ADO.NET vs. ADO ADO.NET vs. ADO ADO.NET vs. ADO ADO.NET vs. ADO ADO.NET vs. ADO ADO.NET vs. ADO Đ Đặ ặc Đi c Điể ểm m ADO ADO ADO.NET ADO.NET Data xử lý được đưa vào bộ nhớ dưới dạng Recordset : tương đương 1 bảng dữ liệu trong database Dataset : tương đương 1 database Duyệt dữ liệu Recordset chỉ cho phép duyệt tuần tự, từng dòng một. Dataset : duyệt “tự do, ngẫu nhiên”, truy cập thẳng tới bảng, dòng, cột mong muốn. Dữ liệu ngắt kết nối Recordset thiên về hướng kết nối, nên việc hỗ trợ ngắt kết nối không mạnh Dataset hỗ trợ hoàn toàn ngắt kết nối Trao đổi dữ liệu qua Internet Khả năng trao đổi dữ liệu ADO qua Internet thường có nhiều hạn chế. Do dùng chuẩn COM ADO.NET trao đổi dữ liệu qua Internet rất dễ dàng vì ADO.NET được thiết kế theo chuẩn XML, là chuẩn dữ liệu chính được sử dụng để trao đổi trên Internet.
  • 15. 15 ADO.NET ADO.NET ADO.NET ADO.NET ADO.NET ADO.NET ADO.NET ADO.NET Kiến trúc của ADO.NET gồm 2 phần chính Ph Phầ ần k n kế ết n t nố ối i: sử dụng khi kết nối CSDL và thao tác dữ liệu, phải thực hiện kết nối khi thao tác Connection Connection: quản lý việc đóng mở DB ???Connection: SqlConnection, OleDbConnection Command Command: lệnh truy vấn, tương tác dữ liệu khi đang lập kết nối ???Command: SqlCommand, OleDbCommand DataReader DataReader: đọc dữ liệu, chỉ xử lý 1 dòng dữ liệu tại một thời điểm ???DataReader: SqlDataReader, OleDbDataReader DataAdapter DataAdapter: cầu nối giữa DB và DataSet
  • 16. 16 ADO.NET ADO.NET ADO.NET ADO.NET ADO.NET ADO.NET ADO.NET ADO.NET Ph Phầ ần ng n ngắ ắt k t kế ết n t nố ối i: là DataSet DataSet DataSet không quan tâm đến DB thuộc kiểu gì, và lấy dữ liệu từ DataAdapter để xử lý DataSet xem như một DB trong bộ nhớ: bảng, quan hệ… DataSet có các thành phần con như DataTable DataRow DataColumn DataRelation Các đối tượng nhóm: DataTableCollection, DataRowCollection, DataColumnCollection
  • 17. 17 Mô h Mô h Mô h Mô h Mô h Mô h Mô h Mô hì ình đ nh đ nh đ nh đ nh đ nh đ nh đ nh đố ối t i t i t i tư i t i t i t i tượ ợng ADO.NET ng ADO.NET ng ADO.NET ng ADO.NET ng ADO.NET ng ADO.NET ng ADO.NET ng ADO.NET
  • 18. 18 C C C C C C C Cá ác l c l c l c l c l c l c l c lớ ớp th p th p th p thư vi vi vi vi p th p th p th p thư vi vi vi việ ện ADO.NET n ADO.NET n ADO.NET n ADO.NET n ADO.NET n ADO.NET n ADO.NET n ADO.NET System.Data.OleDb: Access, SQL Server, Oracle System.Data.SqlClient: SQL Server System.Data.OracleClient: Oracle Đặc điểm: Cả ba thư viện trên về giao tiếp lập trình là giống nhau Dùng thư viện SqlClient truy xuất SQL Server nhanh hơn OleDb Tương tự cho OracleClient
  • 19. 19 N N N N N N N Nộ ội Dung i Dung i Dung i Dung i Dung i Dung i Dung i Dung ADO.NET Quá trình phát triển Đặc điểm ADO.NET .NET Data Provider NET Data Provider DataSet Data Source Configuration Wizard
  • 20. 20 NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider Mô hình .NET Data Provider
  • 21. 21 NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider - - - - - - - - Connection Connection Connection Connection Connection Connection Connection Connection Application Database Connection Thuộc tính Phương thức • ConnectionString: chuỗi kết nối DataSource • Open(): thiết lập kết nối đến DS • Close(): đóng kết nối với DS
  • 22. 22 NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider - - - - - - - - Connection Connection Connection Connection Connection Connection Connection Connection Mô tả CSDL sử dụng minh họa Đặc điểm Thông tin DBMS MS SQL Server Express 2005 DB 1 CSDL StudentDB DB 2 CSDL Northwind
  • 23. 23 NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider - - - - - - - - Connection Connection Connection Connection Connection Connection Connection Connection SqlConnection cnn = new SqlConnection(); cnn.ConnectionString = “server= .SQLEXPRESS; database=Northwind; Trusted_Connection=true”; cnn.Open(); //xử lý trong quá trình kết nối … cnn.Close(); SQL Connection Thay bằng “localhost” trong SQL Server 2005
  • 24. 24 NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider - - - - - - - - Connection Connection Connection Connection Connection Connection Connection Connection ODBC/OLE DB Connection (*) Database MS Access Driver = {Microsoft Access Driver (*.mdb)}; DBQ = đường dẫn file access Provider=Microsoft.Jet.OLEDB.4.0; Data Source = đường dẫn file access SQL Server Driver = {SQLServer}; Server = ServerName; Database= DatabaseName; Uid=Username; Pwd=Password; Provider= SQLOLEDB; Data Source=ServerName; Initial Catalog=DatabaseName; UserId=Username; Password=Password (*): Xem thêm chuỗi kết nối trong: http://www.connectionstrings.com/?carrier=sqlserver2005
  • 25. 25 NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider - - - - - - - - Connection Connection Connection Connection Connection Connection Connection Connection OleDbConnection cnn = new OleDbSqlConnection(); cnn.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0; Data Source =Sinhvien.mdb”; cnn.Open(); //xử lý trong quá trình kết nối … cnn.Close(); OLEDB Connection
  • 26. 26 NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider - - - - - - - - Command Command Command Command Command Command Command Command Application Database Connection Command Thuộc tính Phương thức • Connection: kết nối để thực hiện lệnh • CommandText: câu lệnh cần thực hiện • CommandType: loại câu lệnh (Text,TableDirect, StoredProc) • ExecuteScalar(): thực hiện câu lệnh và trả về giá trị đơn • ExecuteNonQuery(): gọi các lệnh SQL, store, trả về số row bị tác động (Insert, Update, Delete…) • ExecuteReader(): thực hiện lệnh và trả về DataReader
  • 27. 27 NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider - - - - - - - - Command Command Command Command Command Command Command Command SqlConnection cnn = new SqlConnection(); cnn.ConnectionString = “server=.SQLEXPRESS; database=Northwind; Trusted_connection=true”; SqlCommand cmd = new SqlCommand(“”,cnn); cmd.CommandText = “Select COUNT(*) From Customers”; cnn.Open(); int count = (int) cmd.ExecuteScalar(); cnn.Close(); SQL Command
  • 28. 28 NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider - - - - - - - - Command Command Command Command Command Command Command Command SqlConnection conn = new SqlConnection(); conn.ConnectionString = Data source=.SQLEXPRESS;+ Initial Catalog=StudentDB StudentDB; Integrated security=yes;; SqlCommand cmd = new SqlCommand(); cmd.CommandText = Insert into Sinhvien values(007,'Le Nam','1/1/1980',1,null,null); cmd.Connection = conn; conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); SQL Command
  • 29. 29 NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider - - - - - - - - Command Command Command Command Command Command Command Command Tham số hóa câu lệnh Một câu lệnh được sử dụng nhiều lần! … cmd.CommandText = Insert into Sinhvien Insert into Sinhvien values(@MS,@HT,@NS,@GT,@DC,@DT) values(@MS,@HT,@NS,@GT,@DC,@DT); cmd.Parameters.Add(@MS @MS, SqlDbType.Int); cmd.Parameters.Add(@HT @HT, SqlDbType.NVarChar); cmd.Parameters.Add(@NS @NS,SqlDbType.DateTime); cmd.Parameters.Add(@GT @GT,SqlDbType.Bit); cmd.Parameters.Add(@DC @DC,SqlDbType.NVarChar); cmd.Parameters.Add(@DT @DT,SqlDbType.Int); SQL Command - Param Khai báo tham số Khai báo tham số Câu lệnh được tham số hóa Câu lệnh được tham số hóa Kiểu dữ liệu Kiểu dữ liệu Tên field Tên field
  • 30. 30 NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider - - - - - - - - Command Command Command Command Command Command Command Command … cmd.Parameters[@MS @MS].Value = 999; cmd.Parameters[@HT @HT].Value = Nguyen Ha Giang; cmd.Parameters[@NS @NS].Value = new DateTime(1978,12,4); cmd.Parameters[@GT @GT].Value = 1; cmd.Parameters[@DC @DC].Value = “Tan Binh; cmd.Parameters[@DT @DT].Value = 5120791; conn.Open(); int count = (int) cmd.ExecuteNonQuery(); conn.Close(); SQL Command - Param Truyền giá trị cho các tham số tương ứng Truyền giá trị cho các tham số tương ứng
  • 31. 31 NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider - - - - - - - - DataReader DataReader DataReader DataReader DataReader DataReader DataReader DataReader Application Database Connection Command DataReader Thuộc tính Phương thức • HasRow: cho biết câu truy vấn có trả về dữ liệu • Read(): đọc một mẫu tin • [i]: truy xuất đến cột i của mẫu tin được đọc • Close(): đóng Truy xuất tuần tự Chỉ đọc dữ liệu Cơ chế kết nối
  • 32. 32 NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider - - - - - - - - DataReader DataReader DataReader DataReader DataReader DataReader DataReader DataReader … SqlCommand cmd = new SqlCommand(Select * Select * From Sinhvien From Sinhvien, conn); SqlDataReader reader reader; conn.Open(); reader reader = cmd.ExecuteReader ExecuteReader(); while (reader reader.Read()) listBox1.Items.Add(reader reader[Hoten]); reader reader.Close(); conn.Close(); DataReader Thực thi lệnh truy vấn Thực thi lệnh truy vấn Đọc một dòng Đọc một dòng Lấy cột Hoten của dòng vừa đọc Lấy cột Hoten của dòng vừa đọc
  • 33. 33 NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider - - - - - - - - DataAdapter DataAdapter DataAdapter DataAdapter DataAdapter DataAdapter DataAdapter DataAdapter Data Source Data Source DataAdapter DataTable DataTable DataSet DataSet DataAdapter Fill Fill Update Update Update Update Fill Fill SelectCommand SelectCommand UpdateCommand UpdateCommand SelectCommand SelectCommand UpdateCommand UpdateCommand
  • 34. 34 NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider - - - - - - - - DataAdapter DataAdapter DataAdapter DataAdapter DataAdapter DataAdapter DataAdapter DataAdapter Thuộc tính Phương thức • Fill Fill(DataSet): sử dụng SelectCommand lấy dữ liệu từ Data Source đổ vào Data Set • Update Update(DataSet): InsertCommand, UpdateCommand, DeleteCommand cập nhật dữ liệu trong DataSet vào DataSource DataBase DataSet DataAdapter Fill Fill Update Update
  • 35. 35 NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider NET Data Provider - - - - - - - - DataAdapter DataAdapter DataAdapter DataAdapter DataAdapter DataAdapter DataAdapter DataAdapter string strConn=Server=.SQLEXPRESS; Database=StudentDB; Trusted_connection=true; SqlDataAdapter adapter = new SqlDataAdapter(Select * From Sinhvien, strConn); DataSet ds = new DataSet(); adapter.Fill(ds); // thao tác trên dataset … adapter.Update(ds); DataAdapter
  • 36. 36 N N N N N N N Nộ ội Dung i Dung i Dung i Dung i Dung i Dung i Dung i Dung ADO.NET Quá trình phát triển Đặc điểm ADO.NET .NET Data Provider DataSet DataSet Data Source Configuration Wizard
  • 37. 37 DataSet DataSet DataSet DataSet DataSet DataSet DataSet DataSet Là phần cơ sở dữ liệu được lưu trữ trong bộ nhớ (in-memory database) Cơ chế không kết nối Nhờ đối tượng DataAdapter làm trung gian Hỗ trợ đầy đủ đặc tính XML Thao tác được với tất cả mô hình lưu trữ hiện tại: Flat file database: plain text, mixed text, binary text Relational database. Hierarchical: data is organized into a tree-like structure
  • 38. 38 DataSet vs. DataReader DataSet vs. DataReader DataSet vs. DataReader DataSet vs. DataReader DataSet vs. DataReader DataSet vs. DataReader DataSet vs. DataReader DataSet vs. DataReader Supported by Visual Studio .NET tools Slower access Forward-only Bind to one control only Based on one SQL statement from one database Read-only Manually coded Faster access Forward and backward scanning of data Bind to multiple controls Includes multiple tables from different databases Read/write access to data DataReader DataSet Disconnected Connected
  • 39. 39 DataSet DataSet DataSet DataSet DataSet DataSet DataSet DataSet Các thành phần Tables Relations DataSet DataSet Tables Tables Tables DataTable Relations Relations DataRelation DataRelation DataRow(s) DataColumn Constraint(s) DataTable DataTable
  • 41. 41 DataSet DataSet DataSet DataSet DataSet DataSet DataSet DataSet - - - - - - - - DataTable DataTable DataTable DataTable DataTable DataTable DataTable DataTable DataTable: thể hiện một bảng trong CSDL Thuộc tính Phương thức • TableName: tên của bảng dữ liệu • Columns Columns: danh sách các cột • Rows Rows: danh sách các mẫu tin • PrimaryKey: danh sách các cột là khóa chính • NewRow NewRow(): tạo một mẫu tin mới
  • 42. 42 DataSet DataSet DataSet DataSet DataSet DataSet DataSet DataSet - - - - - - - - DataColumn DataColumn DataColumn DataColumn DataColumn DataColumn DataColumn DataColumn DataColumn: đại diện cho một cột trong bảng ColumnName: tên cột DataType: kiểu dữ liệu DataTable DataTable Column1 Column1 Column2 Column2 … Column n Column n
  • 43. 43 DataSet DataSet DataSet DataSet DataSet DataSet DataSet DataSet - - - - - - - - DataRow DataRow DataRow DataRow DataRow DataRow DataRow DataRow DataRow: đại diện cho mẫu tin trong bảng RowState: trạng thái Added, Modified, Deleted,… [i]: truy xuất đến cột i Delete(): đánh dấu xóa mẫu tin DataTable DataTable Column1 Column2 … Column n abc xyz omt … … … … … … Row
  • 44. 44 DataSet DataSet DataSet DataSet DataSet DataSet DataSet DataSet string strConn = data source=.SQLEXPRESS; Initial Catalog=StudentDB; integrated security=yes;; string strCmd = Select * From Sinhvien; SqlDataAdapter da = new SqlDataAdapter(strCmd, strConn); SqlCommandBuilder builder = new SqlCommandBuilder(da); DataSet ds = new DataSet(); da.Fill(ds); foreach (DataRow dr in ds.Tables[0].Rows) dr[Ngaysinh] = DateTime.Now; da.Update(ds); DataSet – Update Row VD: Cập nhật tất cả các cột với ngày giờ hiện hành
  • 45. 45 DataSet DataSet DataSet DataSet DataSet DataSet DataSet DataSet … SqlDataAdapter da = new SqlDataAdapter(strCmd, strConn); SqlCommandBuilder builder = new SqlCommandBuilder(da); DataSet ds = new DataSet(); da.Fill(ds); DataTable table = ds.Tables[0]; DataRow[] rows = table.Select(Ngaysinh'1/1/1980'); foreach (DataRow r in rows) r.Delete(); da.Update(ds); DataSet – Delete Row Lấy các dòng có ngày sinh trước 1/1/1980 Lấy các dòng có ngày sinh trước 1/1/1980 Đánh dấu xóa các dòng này Đánh dấu xóa các dòng này
  • 46. 46 N N N N N N N Nộ ội Dung i Dung i Dung i Dung i Dung i Dung i Dung i Dung ADO.NET Quá trình phát triển Đặc điểm ADO.NET .NET Data Provider DataSet Data Source Configuration Wizard Data Source Configuration Wizard
  • 47. 47 Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Trong VS.NET 2005 có chức năng Data Source Configuration Wizard Nhanh chóng thiết lập Data Source cho project Xây dựng form hiển thị và thao tác dữ liệu Thông qua thao tác kéo thả từ Data Source
  • 48. 48 Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Tạo một ứng dụng Windows Application Trong menu Data | Add New Data Source…
  • 49. 49 Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Tạo New Connection
  • 50. 50 Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Hoàn tất khai báo Data Source Chuỗi kết nối
  • 51. 51 Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Lưu chuỗi kết nối trong file cấu hình Tên của chuỗi kết nối
  • 52. 52 Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Chọn bảng dữ liệu Bảng Sinhvien và các field Tên của DataSet
  • 53. 53 Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Wizard sẽ tạo ứng dụng với Data Source Data Sources Windows Form in Design View
  • 54. 54 Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Kéo thả binding control vào Form Trong cửa sổ Data Source Chọn bảng cần sử dụng Thiết lập view là DataGridView hay Details Kích chọn vào dấu mũi tên xuống sau tên bảng
  • 55. 55 Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Kéo Table thả vào Form Tự động tạo các binding control cho table Detail
  • 56. 56 Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Bổ sung DataGridView cho Form Thay đổi Table sang DataGrid Kéo Table trong Data Source thả vào Form DataGridView
  • 57. 57 Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Data Source Configuration Wizard Kết quả ứng dụng Chưa viết code!
  • 58. 58