Chương 6 của bài giảng Phát triển Web nâng cao giới thiệu về ADO.NET. Chương này sẽ giúp người học tìm hiểu về: Cấu trúc của ADO.NET, tổng quan về ADO.NET, không gian tên sử dụng trong ADO.NET, các đối tượng trong ADO.Net,... và các nội dung khác. Mời các bạn cùng tham khảo.
CHƯƠNG VI: ADO.NET Lý thuyết: tiết Thực hành tiết 05/08/21 CẤU TRÚC CỦA ADO.NET 05/08/21 TỔNG QUAN VỀ ADO.NET ADO.NET cung cấp khả truy cập nguồn liệu cách quán SQL Server, liệu quản lý thông qua OLE DB XML ADO.NET bao gồm trình cung cấp liệu NET (.NET data provider) cho việc kết nối đến sở liệu, thực thi câu lệnh truy xuất kết 05/08/21 TỔNG QUAN VỀ ADO.NET Đối tượng ADO.NET Dataset sử dụng cách độc lập với NET data provider để quản lý liệu thuộc ứng dụng nguồn từ XML Lớp ADO.NET tìm thấy namespace System.Data, tích hợp với lớp XML tìm thấy namespace System.Xml Connection 05/08/21 KHƠNG GIAN TÊN Không gian tên sử dụng ADO.NET gồm: System.Data System.Data.Common System.Data.SqlClient: dùng cho sở liệu SQL System.Data.OleDb dùng cho sở liệu access 05/08/21 CẤU TRÚC CỦA ADO.NET ADO.NET Components thiết kế để quản lý việc truy cập liệu từ nguồn liệu Có thành phần ADO.NET: ADO.NET Dataset thành phần kiến trúc kết nối gián đoạn ADO.NET Dataset bao gồm tập hợp nhiều đối tượng DataTable 05/08/21 CẤU TRÚC CỦA ADO.NET NET Data Provider - tập hợp thành phần bao gồm đối tượng Connection: cung cấp việc kết nối đến CSDL Command :truy cập câu lệnh CSDL DataReader: cung cấp luồng truy xuất DL DataAdapter: cung cấp cầu nối đối tượng Dataset CSDL DataAdapter sử dụng đối tượng Command để thực thi câu lệnh SQL 05/08/21 Các đối tượng ADO.Net Đối tượng Connection Chức năng: Thiết lập kết nối đến sở liệu Kết nối với sở liệu access: OleDbConnection con;// Khai báo String strcon; strCon ="Provider=Microsoft.Jet.OleDb.4.0;Data Source ="; strCon = strCon + Server.MapPath(".") + "\\sv.mdb"; = new OleDbConnection(strCon); con.Open(); 05/08/21 Kết nối với sở liệu Sql: SqlConnection con;// Khai báo String strcon; strCon= “Server=ServerName;Database=DBName;uid=userName;pwd=password”; = new SqlConnection(strCon); con.Open(); 05/08/21 Các phương thức Connection Phương thức Open(): mở kết nối Close(): đóng kết nối Dispose() 05/08/21 10 DataTable •DataView Ví dụ thuộc tính DataView int num; num=dv.Count; dv.RowFilter=“Expression condition”; dv.RowFilter=“FieldNameColumn>=10”; dv.Sort=“List FieldName sort” ; //ASC, DESC dv.Sort=“FieldName1,FieldName2 DESC”; dv.Sort = "EMpID"; drView = dv.FindRows(EmpIDvalue); //drView is array 05/08/21 32 DataTable •DataView DataView dv=new DataView() Method of DataView FindRows: Trả mảng đối tượng DataRowView mà hàng tìm DataRowView[] drView; dv.Sort=“FieldName”; drView=dv.FindRows(value) // Với value: FieldName 05/08/21 33 DataTable •DataRowView DataRowView drView=new DataRowView() drView[i] or drView[“FieldNameColumn”] : giá trị trả String valueF; valueF=drView[“StudentID”]; Or valueF=drView[0]; 05/08/21 34 DataTable DataColumn: Trình bày lược đồ cột DataTable Mỗi DataColumn có thuộc tính DataType để xác định kiểu liệu lưu trữ DataColumn DataColumn objColumn=new DataColumn(“ColumnName”); DataTable dt=new DataTable(); Dt.Columns.Add(objColumn); 05/08/21 35 Đối tượng DataTable DataRow: trình bày dịng liệu DataTable Khởi tạo: DataRow dr=new DataRow(); dr[i] or dr[“FieldName”]: //return value 05/08/21 36 Đối tượng DataTable Các thuộc tính- phương thức DataTable Columns: trả cột Datatable Columns.Count: trả số cột bảng Columns.Add(DataColumn): Thêm cột vào bảng Rows :trả dòng, dòng đối tượng datarow Rows.Count :trả số dòng bảng Rows.Add(DataRow):thêm dòng vào bảng 05/08/21 37 DataTable •DataTable: Là đối tượng để biểu diễn thông tin Dataset DataColumn DataRow ColName1 ColName2 … ColNameN Data11 Data12 … Data1N … … … … DataM1 DataM2 … DataMN 05/08/21 38 DataTable •DataTable DataTable dt=new DataTable(); Columns:Trả tập hợp columns có table Count dt dt.Columns Add(objColumn) Rows: Trả tập hợp rows có table dt dt.Rows 05/08/21 Count Add(objRow) 39 DataTable •DataTable DefaultView: đối ượng DataView (Dạng hiển thị khác DataTable) DataTable dt=new DataTable(); Phương thức DataTable NewRow():Tạo dòng DataRow DataRow dr; dr=dt.NewRow(); 05/08/21 40 DataSet DataSet bao gồm tập đối tượng DataTable DataTable điển hình tương đương với table view mà ta thiết lập mối quan hệ chúng thông qua đối tượng DataRelation Dữ liệu DataSet quán cách sử dụng đối tượng UniqueConstraint ForeignKeyConstraint 05/08/21 41 DataSet •DataSet DataSet ds; //Khai báo DataSet ds=new DataSet();//Khai báo khởi tạo Tables: trả tất Table chứa Dataset ds.Tables[i] or ds.Tables[“tblName”] : Trả đối tượng Table thứ i Table có “tên tblName Count ds.Tables 05/08/21 Add(objTable) 42 DataAdapter •DataAdapter The DataAdapter : Là đối tượng trung gian DataSet nguồn liệu nhận được, dùng để lưu 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ó)) 05/08/21 43 Example OleDbDataAdapter da; da=new OleDbDataAdapter(strSQL,con); DataSet ds=new DataSet(“tblA”); da.Fill(ds); DataTable dt; dt=ds.Tables[“tblA”]; //ds.Tables[0] foreach(DataRow dr in dt.Rows) { varName1= Convert.ToString(dr[“StudentID”]); varName2= Convert.ToString(dr[“Name”]); //process varName1, varName2 } 05/08/21 44 Khai báo chuỗi kết nối file Web.Config: Database lưu thư mục gốc Visual Studio.Net: C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\HOADON.mdb 05/08/21 45 Truy xuất chuỗi kết nối trang string strcon; strcon=ConfigurationManager.AppSettings["ConnectionString"]; con= new OleDbConnection(strcon); con.ConnectionString=strcon; con.Open(); 05/08/21 46 ... thành phần ADO.NET: ADO.NET Dataset thành phần kiến trúc kết nối gián đoạn ADO.NET Dataset bao gồm tập hợp nhiều đối tượng DataTable 05/08/21 CẤU TRÚC CỦA ADO.NET NET Data Provider - tập hợp...CẤU TRÚC CỦA ADO.NET 05/08/21 TỔNG QUAN VỀ ADO.NET ADO.NET cung cấp khả truy cập nguồn liệu cách quán SQL Server, liệu quản lý thông qua OLE DB XML ADO.NET bao gồm trình cung... tên sử dụng ADO.NET gồm: System.Data System.Data.Common System.Data.SqlClient: dùng cho sở liệu SQL System.Data.OleDb dùng cho sở liệu access 05/08/21 CẤU TRÚC CỦA ADO.NET ADO.NET Components