DataControl: Các Servercontrols phục vụ tương tác CSDL
» Tương tác: Kết nối/Đọc/Ghi dữ liệu, hiển thị kết quả
Kết nối/đọc/ghi: SQLDataSource, LinQDataSrource
Đối tượng chung: SqlCommand, DataAdapter, DataTable
Hiển thị: Repeater, GridView, DetaileView, FormView
Hỗ trợ: QueryExtender, Datapager
» CSDL: SQLserver, Oracle, mySQL, DB2,
» Hỗ trợ cơ chế Binding : <%# Eval(Thuộc tính)%>
12 trang |
Chia sẻ: thuychi16 | Lượt xem: 875 | Lượt tải: 2
Bạn đang xem nội dung tài liệu Công nghệ web - Bài 10: Data access, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài 10: Data Access
Lê Quang Lợi
Email: loilequang@gmail.com
loilq@utehy.edu.vn
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
Bài 10: Data Access
» DataControls
» Binding
» SqlData Controls
» Template
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
» DataControl: Các Servercontrols phục vụ tương tác CSDL
» Tương tác: Kết nối/Đọc/Ghi dữ liệu, hiển thị kết quả
Kết nối/đọc/ghi: SQLDataSource, LinQDataSrource
Đối tượng chung: SqlCommand, DataAdapter, DataTable
Hiển thị: Repeater, GridView, DetaileView, FormView
Hỗ trợ: QueryExtender, Datapager
» CSDL: SQLserver, Oracle, mySQL, DB2,
» Hỗ trợ cơ chế Binding :
10.1 Data Control
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
» Binding: Cách kết hợp dữ liệu với server controls
» Cú pháp:
» Quy trình Binding CSDL
1) Tạo giao diện( Template): thể hiện/trình bày dữ liệu
2) Tạo nguồn dữ liệu: Cấu trúc hợp với giao dện
3) Trỏ dữ liệu cho giao diện: DataSource, DataSourceID
4) Kết hợp dữ liệu với giao diện:Gọi hàm Control.DataBind();
10.2 Data Binding
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
» Controls Binding:
DataCommand: câu lệnh SQLDataSource
DataSrourecID, DataSrource: nguồn dữ liệu
DataMember, DatakeyName: Trường dữ liệu cần kết hợp
» Controls Template: thể hiện giao diện khuôn mẫu
» Thuộc tính DataSourceID: Nguồn dữ liệu cần hiển thị
» Thuộc tính Datasource: Nguồn dữ liệu (lập trình)
» Phương thức DataBind(): Kết hợp dữ liệu với Server control
10.2 Data Binding
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
10.2 Data Binding
» GridView: thể hiện bảng dữ liệu Table (hàng/cột)
» ListView: thể hiện dữ liệu dạng danh sách
» Repeater: thể hiện dữ liệu lặp đi lặp lại dạng Template
» Thuộc tính DataSourceID/ DataSource: Nguồn dữ liệu
» Thuộc tính EnablePaging phân trang trên Control
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
10.2 Data Binding (FormView, DetailesView)
» Thể hiện dữ liệu dạng trường dữ liệu
» Thể hiện chi tiết một RecordeSet (1 dòng dữ liệu)
» Cho phép thao tác trên RecordeSet
» Thộc tính: DataValue, DataSourceID, DataKeys, DataMember
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
10.3 SqlDataSource
» Server Control:Hỗ trợ thao tác dữ liệu với CSDL
Tạo kết nối
Thực thi các kết nối: SQL
Gửi kết quả về cho Display DataControls
» SQLDataSource: Thao tác CSDL SQLserver
» LinQDataSource: Thao tác dữ liệu dưới dạng LinQ
» XMLDataSource: Thao tác dữ liệu dạng XML
» EntityDataSource: dữ liệu dạng đối tượng
» ObjectDataSource: Dữ liệu là tập đối tượng
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
10.3.1 SqlDataSource
» Đối tượng chứa câu lệnh thao tác với CSDL SqlServer
» Đọc/Ghi dữ liệu từ servercontrols đến CSDL
<asp:SqlDataSource id=“sqlDTS" runat="server"
ConnectionString=""
SelectCommand="SELECT ID, Name FROM Students"
UpdateCommand="Update Students SET Name=@Name, WHERE
ID=@ID" >
» Thuộc tính: Select/Insert/Delete/UpdateCommand
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
10.3.1 SqlDataSource
<asp:SqlDataSource ID="sqlTDS1" runat="server"
ConnectionString=""
SelectCommand="SELECT [UserId], [Email] FROM [User]"
<asp:GridView ID="Grid" runat="server"
DataSourceID=" sqlTDS1">
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
10.3.2 LinQ DataSource
» Tương tác dữ liệu theo LinQ tương tự SqlDataSource
» Bảng dữ liệu dạng tập hợp/ tập đối tượng
Ví dụ
<asp:LinqDataSource ContextTypeName="AWDataContext"
TableName="Contacts" ID=“lqDTS" runat="server">
» Thuộc tính ContextTypeName: Nguồn LinQ
» Thuộc tính TableName: Tên đối tượng của nguồn LinQ
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
10.4 Data pager
» Cho phép hiển thị phân trang CSDL thành các trang(mảnh)
<asp:DataPager ID=“dg" runat="server" PagedControlID=“listID"
PageSize="3" OnPreRender="Data_PreRender">
<asp:NextPreviousPagerField ShowFirstPageButton="True"
ShowNextPageButton="False" />
<asp:NextPreviousPagerField ShowLastPageButton="True"
ShowPreviousPageButton="False" />