Bài giảng học phần thiết kế lập trình web chương 4 4 GV trần minh hùng - Pdf 14

5/10/2013
1
CHƯƠNG IV:
ADO.NET
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

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);

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

5/10/2013 21
Các đối tượng trong ADO.Net
5/10/2013 22
OleDbCommand cmd;
String strSql;
strSql = "select * from tblsv";
cmd = new OleDbCommand(strSql, con);
rd = cmd.ExecuteReader();
OleDbCommand cmd;
String strSql;
strSql = "select * from tblsv";
cmd = new OleDbCommand();
cmd.Connection = con;
cmd.CommandText = strSql;
rd = cmd.ExecuteReader();
Tương đương
Các đối tượng trong ADO.Net
5/10/2013 23
Phương thức của DataReader
Read(): Đọc tới record cuối cùng EOF.
NextResult(): di chuyển tới record kế tiếp
Để đọc giá trị của từng field. Sử dụng câu lệnh:
DataReader rs;// Khai báo
rs[“NameFiled”] or rs[index]
Chú ý: Nhớ Convert về kiểu chuỗi
Example: varName=Convert.ToString(rs[“Name”])
5/10/2013 24
5/10/2013
7
Từng bước kết nối ADO.Net

cmd=new OleDbCommand(strSQL);
cmd.Connection=con;
rs=cmd.ExecuteReader();
// if strSQL is Select statement
Từng

bước

kết

nối

trong

ADO.Net
5/10/2013 27
Sử dụng DataReader để chứa dữ liệu truy xuất được
while(rs.Read())
{
//varName=rs[“FieldName”];
//process varName according to application
}
Example
Danh Sach Khach Hang
Mã khách hàng Họ tên
KH098 Phan Hoai An
5/10/2013 28
Database chứa 1 table:
tblCustomer(CustomerID,Name)
Viết kết nối vào database và thực các công việc sau:

string sql="Insert into Users(UserName,UserID,Pass) values
('miny','002','dfgg')";
//sql = sql + UserName + "'" + "," + "'" + UserID + "')";
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
SqlDataReader dr;
dr = cmd.ExecuteReader();
while (dr.Read())
{
ListBox1.Items.Add(dr[0].ToString());
5/10/2013 31
Answer 3) Delete record
protected void Page_Load(object sender, EventArgs e)
{
string strconn = "server=H52PC14;";
strconn += "database=Northwind;uid=sa;pwd=;";
SqlConnection conn = new SqlConnection(strconn);
string sql = "delete from Users where UserID='01'";
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
string a = cmd.ExecuteReader().ToString();
5/10/2013 32
Answer 4)
<%
….
strSQL=“update set Name=‘”+varName+”’ where
CustomerID=‘“+ varID +”’”;

cmd.ExecuteNonQuery();
%>

dv.RowFilter=“Expression condition”;
dv.RowFilter=“FieldNameColumn>=10”;
dv.Sort=“List FieldName sort” ; //ASC, DESC
dv.Sort=“FieldNam
e1,FieldName2 DESC”;
dv.Sort = "EMpID";
drView = dv.FindRows(EmpIDvalue); //drView is
array
5/10/2013
10
DataTable
5/10/2013 37
•DataView
DataView dv=new DataView()
Method of DataView
FindRows: Trả về 1 mảng đối tượng DataRowView mà
hàng đó sẽ tìm.
DataRowView[] drView;
dv.Sort=“FieldName”;
drView=dv.FindRows(value)
// Với value: FieldName
DataTable
5/10/2013 38
•DataRowView
DataRowView drView=new DataRowView()
drView[i] or drView[“FieldNameColumn”] : giá trị trả về
String valueF;
valueF=drView[“StudentID”];
Or
valueF=drView[0];

DataTable
ColName1 ColName2 …. ColNameN
Dat
a11 Data12
… Data1N
…………
DataM1 DataM2 …. DataMN
5/10/2013 42
•DataTable: Là đối tượng để biểu diễn thông tin trong
Dataset.
DataColumn
DataRow
DataTable
5/10/2013 43
•DataTable
DataTable
dt=new DataTable();
.Columns:Trả về tập hợp các columns có trong table
dt.
.Rows: Trả về tập hợp các rows có trong table dt.
dt.Columns
dt.Rows
Count
Add(objColumn)
Count
Add(objRow)
DataTable
5/10/2013 44
•DataTable
DefaultView: 1 đối ượng DataView (Dạng hiển thị khác của

 public DataSet Laydulieu(string sql)
 {
 OleDbCommand cmd;
 cmd = new OleDbCommand(sql);
 OleDbDataAdapter da = new OleDbDataAdapter(sql,con);
 DataSet ds = new DataSet();
 da.Fill(ds);
 return ds; }
5/10/2013 47
DataAdapter
5/10/2013 48
•DataAdapter
The DataAdapter : Là đối tượng trung gian giữa 1 DataSet
và nguồn dữ liệu nhận được, dùng để lưu dữ liệu.
DataAdapter.Fill(ds) : Hiển thị data lên Dataset ds
OleDbDataAdapter class.
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
(với cmd: OleDbCommand (Đã có))
5/10/2013
13
Example
5/10/2013 49
OleDbDataAdapter da;
da=new OleDbDataAdapter(strSQL,con);
DataSet ds=new DataSet(“tblA”);
da.Fill(ds);
DataTable dt;
dt=ds.Tables[“tblA”]; //ds.Tables[0]


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status