Professional Documents
Culture Documents
ADO.NET
Gii thiu v ADO.NET Cc thnh phn ca ADO.NET
DataProviders DataSet
DataBinding
lu trong
C s d liu
Phn mm Client
Phn mm Client
Database server
Yu cu d liu Database Gi d liu User Yu cu d liu Database Thng bo li Phn mm Client Server tt Server ang chy
DAC
(ODBC, OLE DB, ADO, ADO.net) Database
6
XML XML
ta n se ier e T Pr
n o i t
er i T
ta a D
Database
10
11
ng dng
ADO.NET
DataSet DataTable
database
12
Dng kt ni n CSDL, thc hin cc cu lnh, v nhn kt qu tr v Hin c cc loi data provider chnh
SQL .NET Data Provider OLE DB .NET Data Provider ODBC Data Provider
System.Data System.Data.SqlClient System.Data System.Data.OleDb System.Data System.Data.Odbc
SQL Server
Application
ADO.NET
OLE DB
ODBC
.NET Data Provider
13
14
???DataReader
15
16
17
Thuc tnh
ConnectionString: chui ni kt cha thng tin v c s d liu.
Phng thc
Open(): M ni kt Close(): ng ni kt CreateCommand(): To mt i tng Command nh mt cu truy vn.
18
Th d:
SqlConnection sqlcon = new SqlConnection(Server=SQLDB; uid=mylogin;pwd=mylogin;Database=Tennis");
19
20
21
OleDbConnection con=new OleDbConnection ("Provider=SQLOLEDB;Server=SQLDB; Database=Tennis;uid=sa;pwd=password"); OleDbConnection con=new OleDbConnection (Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\\Tennis.mdb);
Mt s Provider:
SQLOLEDB Microsoft.Jet.OLEDB.4.0 Provider ca SQL Server Provider ca Access
22
23
24
Mt i tng Command cho php truy xut hoc thao tc d liu trong c s d liu (thng qua cu truy vn dng chui). i tng Command c khi to sau khi 1 i tng Connection c thit lp. Gm:
SqlCommand: cho php thc thi cu truy vn vi SQL .Net Framework Data Provider OleDbCommand: cho php thc thi cu truy vn vi OleDb .Net Framework Data Provider
25
Thuc tnh
CommandText: l chui th hin cu truy vn hoc tn ca 1 stored procedure hay tn 1 bng CommandType: loi ca i tng Command (StoredProcedure, TableDirect, Text). Mac dinh la text Connection: i tng Connection n 1 c s d liu
Phng thc
ExecuteNonQuery(): thc thi cu truy vn hnh ng (Insert, Update, Delete) ExecuteReader(): thc thi cu truy vn dng Select; kt qu tr v l 1 i tng DataReader ExecuteScalar(): thc thi cu truy vn dng Select vi kt qu ca cu truy vn l 1 gi tr n
26
27
28
29
30
1 i tng Parameter l 1 tham s c truyn vo khi thc hin 1 cu truy vn hoc 1 stored procedure thng qua 1 i tng Command Gm:
Lp SqlParameter: tham s vi SQL .Net Framework Data Provider Lp OleDbParameter: tham s vi OleDb .Net Framework Data Provider
31
Thuc tnh
ParameterName: tn tham s. DbType: Kiu tham s Value: Gi tr ca tham s
32
33
34
Thuc tnh CommandText ca i tng Command l tn ca stored procedure Thuc tnh CommandType l StoredProcedure Dng lp Parameter nh ngha cc tham s Thm cc tham s vo tp hp Parameters ca i tng Command Thc thi cu truy vn
35
36
37
38
39
i tng thuc lp DataReader cha lung d liu ch c l kt qu ca vic thc thi cu truy vn dng Select.
Lung d liu ny ch cho php truy xut 1 chiu (t u n cui - forward only).
1 i tng DataReader c to ra khi phng thc ExecuteReader() ca 1 i tng Command c gi thc hin. Gm:
Lp SqlDataReader: c d liu vi SQL .Net Framework Provider Lp OleDbDataReader: c d liu vi OleDb .Net Framework Provider
40
Thuc tnh
HasRows: xc nh i tng DataReader cn tr v kt qu na (true) hay khng (false)
Phng thc
Close(): ng li i tng DataReader Read(): di chuyn n mu tin k tip, kt qu tr v l true nu di chuyn thnh cng, ngc li false GetBoolean(int i): tr v gi tr ca ct ch nh nh l 1 gi tr kiu bool. GetDateTime(int i): tr v gi tr ca ct ch nh nh l 1 gi tr kiu DateTime GetInt32(int i): tr v gi tr ca ct ch nh nh l 1 gi tr kiu int GetString(int i): tr v gi tr ca ct ch nh nh l 1 gi tr kiu string GetValue(int i): tr v gi tr ca ct ch nh
41
42
43
44
i tng DataAdapter cho php ly d liu t c s d liu a vo DataSet v ngc li cho php cp nht c s d liu vi d liu t DataSet Gm:
Lp SqlDataAdapter: SQL .Net Framework Data Provider Lp OleDbDataAdapter: OleDb .Net Framework Data Provider
45
Thuc tnh
SelectCommand InsertCommand UpdateCommand DeleteCommand
ngha
i tng Command ly d liu t CSDL
Cp nht CSDL da vo thay i trong Dataset (thng qua 3 i tng Command cho php Insert, Update, Delete)
Phng thc
Fill
ngha
a (Cp nht) d liu vo DataSet ( khp vi ngun d liu) nh thc thi cu truy vn trong SelectCommand
46
47
48
L cc i tng lu d liu c truy xut t c s d liu C th thao tc vi d liu trong DataSet ngay c khi ng dng ngt kt ni vi c s d liu (disconnected architecture) Cu trc ca 1 DataSet tng t nh cu trc mt c s d liu quan h gm cc bng (DataTable), dng (DataRow), ct (DataColumn), quan h (DataRelation), etc.
Client sa i Dataset Cp nht Dataset ln Server
Client
Gi Dataset ti Client
Dataset
Server
Gi d liu ti Dataset
Rows
DataRow
Relations
DataRelation
50
Phng thc
Phng thc xy dng khng tham s: to 1 i tng DataSet vi tn mc nh Phng thc xy dng c tham s: to 1 i tng DataSet vi tn c ch nh VD:
// Khng cn ch tn ca Dataset Dataset empDS = new Dataset(); // To Dataset c tn l EmpInfor Dataset empDS = new Dataset(EmpInfor);
51
52
Mt DataTable l mt bng trong 1 DataSet (tng ng 1 bng trong b nh ca c s d liu quan h). Thuc tnh
Columns: tp hp cc ct (DataColumn) ca 1 DataTable Constraints: tp hp cc contraints ca 1 DataTable PrimaryKey: tp hp cc trng to nn kha chnh Rows: tp hp cc dng (DataRow) ca 1 DataTable
53
To DataTable
Dng phng thc xy dng ca lp DataTable
Thm ct vo DataTable
Dng phng thc xy dng ca lp DataColumn S dng tp hp Columns ca i tng DataTable thm ct mi vo
56
Kha chnh l 1 ct
57
DataRow empRow=empTable.NewRow(); empRow ["EmpName"] = "Smith"; empRow [1] = "Smith"; empTable.Rows.Add(empRow); empTable.Rows.Add(new Object[] {1, "Smith"});
58
59
Ni kt n CSDL (Connection) To i tng DataAdapter Ch ra cu truy vn trong thuc tnh SelectCommand ca DataAdapter in d liu t DataAdapter vo Dataset nh phng thc Fill ca lp DataAdapter
60
61
62
DataBinding l qu trnh rng buc gi tr trong ngun d liu (DataSet, DataTable, DataColumn,) vi controls ca Winforms
Winforms controls
Examples
ADO.Net objects
Examples
63
Mt ct ca 1 DataTable rng buc vi 1 controls bt k ca Winforms Th d: Ct Salary ca DataTable t s c rng buc vi thuc tnh Text ca TextBox Text
64
Tt c cc dng ca 1 ct ca 1 DataTable (hay ton b DataTable hoc DataSet) rng buc vi 1 controls dng danh sch ca Winforms Th d: Ct DepartmentName ca DataTable t s rng buc vi Combobox Combo
65
Cho php hin th d liu dng bng D liu hin th trong DatagridView c th c thm, sa, xa, sp xp, phn trang. Thuc tnh
DataSource: i tng ngun d liu (DataSet, DataTable, ) s c th hin trn DatagridView
66
67
68