Professional Documents
Culture Documents
Web Course 2 - Thao Tac CSDL Voi ADO
Web Course 2 - Thao Tac CSDL Voi ADO
Ni dung
S lc lch s pht trin Kin trc ADO.NET .NET Data Provider DataSet
Ni dung
S lc lch s pht trin Kin trc ADO.NET .NET Data Provider DataSet
ADO.NET l g?
ADO.NET (ActiveX Data Object .NET) Cng ngh ca Microsoft Pht trin t nhin t ADO Cung cp cc i tng v hm th vin dng kt ni v x l trn CSDL
Application Database
Driver
ODBC API
DB API DB API
ODBC
Driver Driver
Application Database
5 2007 Khoa CNTT - HKHTN
Provider
Non-Relational Data
Provider Provider
Ni dung
S lc lch s pht trin Kin trc ADO.NET .NET Data Provider DataSet
OLE DB
OLE DB
Application
ADO.NET
Relational Data
ODBC
ODBC
Non-Relational Data
Data Source
Ni dung
S lc lch s pht trin Kin trc ADO.NET .NET Data Provider DataSet
10
???DataAdapter
SelectCommand
???Command
Parameters ???Parameter
InsertCommand
UpdateCommand
???DataReader
DeleteCommand
11
Application
Data Source
12
cnn.Close();
13
Microsoft Access
Microsoft SQL
ng dn ti tp tin Access
Server.MapPath(StringPath)
nh x ng dn tng i StringPath thnh ng dn n th mc vt l trn Server V d: Gi s tp tin asp s dng hm Server.MapPath c lu ti D:\MyWebsite
Command
16
17
cmd.CommandType = CommandType.Text;
cnn.Open(); int count = (int)cmd.ExecuteScalar(); cnn.Close();
18
Cc bc thc hin:
Tham s ha cu lnh: ? hoc @[tn tham s]. To cc parameters tng ng cho command. t gi tr cho cc parameter mi khi dng command thc hin cu lnh.
20
Cc provider khc:
cmd.CommandText = SELECT * FROM HocSinh WHERE tenhocsinh = ?; cmd.CommandText = INSERT INTO HocSinh(id_hocsinh, tenhocsinh, dtb) + VALUES(?, ?, ?);
21
22
t gi tr cho cc parameter
foreach (Student s in studentList) { cmd.Parameters[@id] = i; cmd.Parameters[@ten] = s.studentName; cmd.Parameters[@dtb] = s.studentMarks; cmd.ExecuteNonQuery(); }
23 2007 Khoa CNTT - HKHTN
Lu :
Truy xut tun t v khng quay lui. Khng cp nht d liu. C ch kt ni.
25
cnn.Open();
IDataReader dr = cmd.ExecuteReader(); while (dr.Read()) MessageBox.Show(dr[CustomerID].ToString()); dr.Close(); cnn.Close();
26 2007 Khoa CNTT - HKHTN
DataSet
InsertCommand UpdateCommand
Data Source
DeleteCommand
27
Ni dung
S lc lch s pht trin Kin trc ADO.NET .NET Data Provider DataSet
29
DataSet
DataSet l g?
DataSet (cont)
DataSet DataTable
Columns DataColumn
Tables
Rows
DataRow
Relations
DataRelation
31
DataSet - DataTable
DataTable th hin mt bng trong c s d liu. Cc thuc tnh v phng thc:
TableName: tn bng. Columns: danh sch cc ct (DataColumn). Rows: danh sch cc mu tin (DataRow). PrimaryKey: danh sch cc ct lm kha chnh (DataColumn). NewRow(): to mt mu tin mi.
32
DataSet - DataColumn
DataColumn th hin mt ct trong bng. Cc thuc tnh v phng thc:
ColumnName: tn ct. DataType: kiu d liu ct.
33
DataSet - DataRow
DataRow th hin mt mu tin trong bng. Cc thuc tnh v phng thc:
RowState: trng thi ca mu tin (Added, Modified, Deleted, Unchanged, Detach). Ton t [ i ]: truy xut n ct i ca mu tin. Delete(): nh du xa mu tin.
34
DataSet (cont)
DataTable table = new DataTable(SinhVien);
row[HoTen] = Nguyn Vn A;
table.Rows.Add(row);
35
DataSet (cont)
SqlDataAdapter da = new SqlDataAdapter( SELECT * FROM Orders, server=localhost; database=Northwind; user id=sa; password=sa); DataSet ds = new DataSet(); da.Fill(ds); foreach (DataRow row in ds.Tables[0].Rows)
row[OrderDate] = DateTime.Now;
da.Update(ds);
36
DataSet (cont)
SqlDataAdapter da = new SqlDataAdapter( SELECT * FROM Orders, server=localhost; database=Northwind; user id=sa; password=sa); DataSet ds = new DataSet();
DataSet (cont)
So snh DataSet v DataReader:
Tc truy xut. B nh lu tr. Thun tin trong thao tc. C ch kt ni v khng kt ni.
38