SlideShare a Scribd company logo
Bài 5:
Làm quen với lập trình CSDL ASP.NET
Những nội dung đã học ở bài trước
Trang Master
Điều hướng trang Web
Sử dụng Theme
Hệ thống bài cũ
Làm quen với lập trình CSDL ASP.NET 2
Mục tiêu bài học
1. ADO.NET
Làm quen với lập trình CSDL ASP.NET 3
2. Điều khiển Data Source
3. Điều khiển Data List
Làm quen với lập trình CSDL ASP.NET 4
Hầu hết các ứng dụng ASP.NET đều có tương tác với
CSDL.
Tương tự như ứng dụng Windows, Ứng dụng
ASP.NET cũng sử dụng ADO.NET để thao tác với CSDL
ADO.NET là một phần của .NET Framework, được
xem là “bộ thư viện lớp” chịu trách nhiệm xử lý
dữ liệu trong ngôn ngữ MS .NET.
Lập trình CSDL với ASP.NET
Hầu hết các ứng dụng ASP.NET đều có tương tác với
CSDL.
Tương tự như ứng dụng Windows, Ứng dụng
ASP.NET cũng sử dụng ADO.NET để thao tác với CSDL
ADO.NET là một phần của .NET Framework, được
xem là “bộ thư viện lớp” chịu trách nhiệm xử lý
dữ liệu trong ngôn ngữ MS .NET.
Làm quen với lập trình CSDL ASP.NET 5
ADO hỗ trợ kết nối tới các hệ quản trị CSDL: SQL Server,
Microsoft Access, Oracle…
Các thành phần cơ bản của ADO.NET
.NET data provider: cung cấp các lớp để tương tác với
CSDL
Dataset: Là bản sao của CSDL hay một phần CSDL trên
bộ nhớ
ADO.NET
ADO hỗ trợ kết nối tới các hệ quản trị CSDL: SQL Server,
Microsoft Access, Oracle…
Các thành phần cơ bản của ADO.NET
.NET data provider: cung cấp các lớp để tương tác với
CSDL
Dataset: Là bản sao của CSDL hay một phần CSDL trên
bộ nhớ
Làm quen với lập trình CSDL ASP.NET 6
Data provider cung cấp các lớp để tương tác với CSDL
Data provider gồm 4 thành phần chính
Connection: kết nối với CSDL
Command: thực thi các lệnh sql để lấy dữ liệu từ CSDL
hoặc thay đổi CSDL
DataReader: đọc dữ liệu tuần tự từ CSDL
DataAdapter: lấy dữ liệu từ CSDL lưu vào dataset và cập
nhật CSDL
Data Provider
Data provider cung cấp các lớp để tương tác với CSDL
Data provider gồm 4 thành phần chính
Connection: kết nối với CSDL
Command: thực thi các lệnh sql để lấy dữ liệu từ CSDL
hoặc thay đổi CSDL
DataReader: đọc dữ liệu tuần tự từ CSDL
DataAdapter: lấy dữ liệu từ CSDL lưu vào dataset và cập
nhật CSDL
Làm quen với lập trình CSDL ASP.NET 7
Dataset
Là bản sao của CSDL hay một phần CSDL trên bộ nhớ
DataSet hỗ trợ các thao tác cập nhật CSDL
Cấu trúc của DataSet giống hệt cấu trúc của cơ sở dữ
liệu
DataSet
Dataset
Là bản sao của CSDL hay một phần CSDL trên bộ nhớ
DataSet hỗ trợ các thao tác cập nhật CSDL
Cấu trúc của DataSet giống hệt cấu trúc của cơ sở dữ
liệu
Làm quen với lập trình CSDL ASP.NET 8
Kết nối giữa ứng dụng và cở sở dữ
liệu (CSDL) thông qua ADO.NET theo
hai kiến trúc:
Kiến trúc kết nối
Thực hiện kết nối tới CSDL trong khi đang thực
hiện các thao tác với dữ liệu.
Các đối tượng tham gia: Connection,
Command, DataReader, DataAdapter
Kiến trúc không kết nối
DataAdapter kết nối với CSDL thông qua
Connection, lấy dữ liệu lưu vào DataSet.
Ứng dụng sẽ lấy và thay đổi dữ liệu trên
DataSet
DataAdapter kết nối với CSDL thông qua
Connection và cập nhật lại CSDL
ADO.NET
Kết nối giữa ứng dụng và cở sở dữ
liệu (CSDL) thông qua ADO.NET theo
hai kiến trúc:
Kiến trúc kết nối
Thực hiện kết nối tới CSDL trong khi đang thực
hiện các thao tác với dữ liệu.
Các đối tượng tham gia: Connection,
Command, DataReader, DataAdapter
Kiến trúc không kết nối
DataAdapter kết nối với CSDL thông qua
Connection, lấy dữ liệu lưu vào DataSet.
Ứng dụng sẽ lấy và thay đổi dữ liệu trên
DataSet
DataAdapter kết nối với CSDL thông qua
Connection và cập nhật lại CSDL
Làm quen với lập trình CSDL ASP.NET 9
Các bước sử dụng đối tượng DataReader để truy xuất
thông tin
B1. Thiết lập chuỗi kết nối cho đối tượng Connection
B2. Tạo đối tượng Command, truyền đối tượng Connection
cho đối tượng Command.
B3: Gọi phương thức Open() của đối tượng Connection để
mở kết nối tới CSDL
B4. Gọi phương thức ExecuteReader() của đối tượng
command để trả về dữ liệu kiểu DataReader.
B5. Sử dụng phương thức Read() của DataReader để đọc
từng dòng
Kiến trúc kết nối
Các bước sử dụng đối tượng DataReader để truy xuất
thông tin
B1. Thiết lập chuỗi kết nối cho đối tượng Connection
B2. Tạo đối tượng Command, truyền đối tượng Connection
cho đối tượng Command.
B3: Gọi phương thức Open() của đối tượng Connection để
mở kết nối tới CSDL
B4. Gọi phương thức ExecuteReader() của đối tượng
command để trả về dữ liệu kiểu DataReader.
B5. Sử dụng phương thức Read() của DataReader để đọc
từng dòng
Làm quen với lập trình CSDL ASP.NET 10
Truy xuất CSDL và hiển thị thông tin lên một điều khiển
drop-down list
Nội dung demo
Tạo chuỗi kết nối trong file web.config
Khai báo các đối tượng
Đối tượng Connection
Đối tượng Command
Đối tượng DataReader
Mở kết nối tới CSDL và truy xuất thông tin
Mở đối tượng kết nối
Gọi ExecuteReader() trên đối tượng Command đã được cấu
hình.
Xử lý mỗi mẫu tin sử dụng phương thức Read() của
DataReader.
Demo
Truy cập CSDL sử dụng kiến trúc kết nối
Truy xuất CSDL và hiển thị thông tin lên một điều khiển
drop-down list
Nội dung demo
Tạo chuỗi kết nối trong file web.config
Khai báo các đối tượng
Đối tượng Connection
Đối tượng Command
Đối tượng DataReader
Mở kết nối tới CSDL và truy xuất thông tin
Mở đối tượng kết nối
Gọi ExecuteReader() trên đối tượng Command đã được cấu
hình.
Xử lý mỗi mẫu tin sử dụng phương thức Read() của
DataReader.
Làm quen với lập trình CSDL ASP.NET 11
Tạo chuỗi kết nối trong file web.config
Demo
Truy cập CSDL sử dụng kiến trúc kết nối
<connectionStrings>
<add name="HalloweenConnectionString"
connectionString="Data Source=HAHASQLEXPRESS;Initial
Catalog=Halloween;Integrated Security=True"
providerName="System.Data.SqlClient"/>
</connectionStrings>
Khai báo một thuộc tính trong lớp code-behind để lấy thông tin chuỗi kết nối
Làm quen với lập trình CSDL ASP.NET 12
Khai báo một thuộc tính trong lớp code-behind để lấy thông tin chuỗi kết nối
private string connectionString =
WebConfigurationManager.ConnectionStrings["HalloweenConnectionString"].ConnectionString;
Khai báo các đối tượng Connection, Command,
DataReader
Demo
Truy cập CSDL sử dụng kiến trúc kết nối
private void FillDdlCategories()
{
ddlCategories.Items.Clear();
//Định nghĩa câu lệnh SQL
string selectSQL = "SELECT CategoryID, LongName FROM Categories";
// Định nghĩa đối tượng Connection
SqlConnection con = new SqlConnection(connectionString);
// Chỉ định cấu hình đối tượng command
SqlCommand cmd = new SqlCommand(selectSQL, con);
//Khai báo đối tượng data reader
SqlDataReader reader;
// Viết đoạn mã mở kết nối tới CSDL và truy xuất thông tin tại đây
}
Làm quen với lập trình CSDL ASP.NET 13
private void FillDdlCategories()
{
ddlCategories.Items.Clear();
//Định nghĩa câu lệnh SQL
string selectSQL = "SELECT CategoryID, LongName FROM Categories";
// Định nghĩa đối tượng Connection
SqlConnection con = new SqlConnection(connectionString);
// Chỉ định cấu hình đối tượng command
SqlCommand cmd = new SqlCommand(selectSQL, con);
//Khai báo đối tượng data reader
SqlDataReader reader;
// Viết đoạn mã mở kết nối tới CSDL và truy xuất thông tin tại đây
}
Mở kết nối tới CSDL và truy xuất thông tin
Demo
Truy cập CSDL sử dụng kiến trúc kết nối
try
{
con.Open();
reader = cmd.ExecuteReader();
// Với mỗi phần tử của data reader. Lấy giá trị trường LongName và CategoryID
//gán giá trị cho thuộc tính Text & Value của drop-down list
while (reader.Read())
{
ListItem newItem = new ListItem();
newItem.Text = reader["LongName"].ToString();
newItem.Value = reader["CategoryID"].ToString();
ddlCategories.Items.Add(newItem);
}
reader.Close();
}
catch (Exception err)
{
lblMessage.Text = "Error reading list of names. ";
lblMessage.Text += err.Message;
}
finally
{
con.Close();
}
Làm quen với lập trình CSDL ASP.NET 14
try
{
con.Open();
reader = cmd.ExecuteReader();
// Với mỗi phần tử của data reader. Lấy giá trị trường LongName và CategoryID
//gán giá trị cho thuộc tính Text & Value của drop-down list
while (reader.Read())
{
ListItem newItem = new ListItem();
newItem.Text = reader["LongName"].ToString();
newItem.Value = reader["CategoryID"].ToString();
ddlCategories.Items.Add(newItem);
}
reader.Close();
}
catch (Exception err)
{
lblMessage.Text = "Error reading list of names. ";
lblMessage.Text += err.Message;
}
finally
{
con.Close();
}
Xóa dữ liệu
Tạo đối tượng Connection
Tạo đối tượng Command, truyền hai tham số cho đối
tượng Command là câu lệnh Delete và đối tượng
Connection.
Gọi phương thức Open() của đối tượng Connection để mở
kết nối
Gọi phương thức ExecuteNonQuery() của đối tượng
Command
Xóa dữ liệu
Xóa dữ liệu
Tạo đối tượng Connection
Tạo đối tượng Command, truyền hai tham số cho đối
tượng Command là câu lệnh Delete và đối tượng
Connection.
Gọi phương thức Open() của đối tượng Connection để mở
kết nối
Gọi phương thức ExecuteNonQuery() của đối tượng
Command
Làm quen với lập trình CSDL ASP.NET 15
Demo
Xóa dữ liệu
protected void btnDelete_Click(object sender, EventArgs e)
{
string deleteSQL = "DELETE FROM Categories WHERE CategoryID = @CategoryID";
// Định nghĩa đối tượng Connection
SqlConnection con = new SqlConnection(connectionString);
// Chỉ định cấu hình đối tượng command
SqlCommand cmd = new SqlCommand(deleteSQL, con);
//Truyền tham số cho đối tượng cmd
cmd.Parameters.AddWithValue("CategoryID", ddlCategories.SelectedValue);
try
{
con.Open();
cmd.ExecuteNonQuery();
lblMessage.Text = "One row has been deleted";
FillDdlCategories();
}
catch (Exception err)
{
lblMessage.Text = "Error deleting row ";
lblMessage.Text += err.Message;
}
finally
{
con.Close();
}
}
}
Làm quen với lập trình CSDL ASP.NET 16
protected void btnDelete_Click(object sender, EventArgs e)
{
string deleteSQL = "DELETE FROM Categories WHERE CategoryID = @CategoryID";
// Định nghĩa đối tượng Connection
SqlConnection con = new SqlConnection(connectionString);
// Chỉ định cấu hình đối tượng command
SqlCommand cmd = new SqlCommand(deleteSQL, con);
//Truyền tham số cho đối tượng cmd
cmd.Parameters.AddWithValue("CategoryID", ddlCategories.SelectedValue);
try
{
con.Open();
cmd.ExecuteNonQuery();
lblMessage.Text = "One row has been deleted";
FillDdlCategories();
}
catch (Exception err)
{
lblMessage.Text = "Error deleting row ";
lblMessage.Text += err.Message;
}
finally
{
con.Close();
}
}
}
Làm quen với lập trình CSDL ASP.NET 17
Ngoài phương pháp truy cập CSDL sử dụng ADO.NET,
ASP.NET cung cấp một phương pháp truy cập CSDL
khác giúp lập trình viên viết ít mã hơn đó là sử dụng
các điều khiển data source.
Điều khiển data source quản lý các tác vụ kết nối đến
CSDL, đọc và ghi dữ liệu.
Truy cập CSDL
sử dụng điều khiển Data Source
Ngoài phương pháp truy cập CSDL sử dụng ADO.NET,
ASP.NET cung cấp một phương pháp truy cập CSDL
khác giúp lập trình viên viết ít mã hơn đó là sử dụng
các điều khiển data source.
Điều khiển data source quản lý các tác vụ kết nối đến
CSDL, đọc và ghi dữ liệu.
Làm quen với lập trình CSDL ASP.NET 18
Điều khiển data source trả về một nguồn dữ liệu (data
source).
Điều khiển data source được buộc vào một điều khiển
dữ liệu (gridview, detailsview…) để hiển thị dữ liệu cho
người dùng.
Mỗi điều khiển data source có thể được buộc vào nhiều
điều khiển dữ liệu
Điều khiển Data source cung cấp các tính năng truy
xuất, chèn, cập nhật, xóa CSDL
Bản chất của việc sử dụng điều khiển data source cũng
là truy cập qua các đối tượng ADO.NET
Truy cập CSDL
sử dụng điều khiển Data Source
Điều khiển data source trả về một nguồn dữ liệu (data
source).
Điều khiển data source được buộc vào một điều khiển
dữ liệu (gridview, detailsview…) để hiển thị dữ liệu cho
người dùng.
Mỗi điều khiển data source có thể được buộc vào nhiều
điều khiển dữ liệu
Điều khiển Data source cung cấp các tính năng truy
xuất, chèn, cập nhật, xóa CSDL
Bản chất của việc sử dụng điều khiển data source cũng
là truy cập qua các đối tượng ADO.NET
Làm quen với lập trình CSDL ASP.NET 19
Hai loại điều khiển datasource thường dùng
SQLDataSource
ObjectDataSource
SQLDataSource và ObjectDataSource cung cấp phương
pháp truy cập và thao tác với dữ liệu trong một hệ quản
trị CSDL.
Khác với điều khiển SQLDataSource, điều khiển
ObjectDataSource hỗ trợ phát triển ứng dụng CSDL theo
kiến trúc ba tầng
Truy cập CSDL
sử dụng điều khiển Data Source
Hai loại điều khiển datasource thường dùng
SQLDataSource
ObjectDataSource
SQLDataSource và ObjectDataSource cung cấp phương
pháp truy cập và thao tác với dữ liệu trong một hệ quản
trị CSDL.
Khác với điều khiển SQLDataSource, điều khiển
ObjectDataSource hỗ trợ phát triển ứng dụng CSDL theo
kiến trúc ba tầng
Làm quen với lập trình CSDL ASP.NET 20
Quá trình liên kết trực tiếp giữa điều khiển và dữ liệu gọi
là buộc dữ liệu
Các điều khiển đã học hỗ trợ buộc dữ liệu:
Các điều khiển list như: Drop-down list, List Box, Radio
button list, check box list
Các điều khiển khác sẽ được học
DataList, GridView, DetailsView…
Buộc dữ liệu
Quá trình liên kết trực tiếp giữa điều khiển và dữ liệu gọi
là buộc dữ liệu
Các điều khiển đã học hỗ trợ buộc dữ liệu:
Các điều khiển list như: Drop-down list, List Box, Radio
button list, check box list
Các điều khiển khác sẽ được học
DataList, GridView, DetailsView…
Làm quen với lập trình CSDL ASP.NET 21
ASP.NET cung cấp phương pháp để buộc dữ liệu lấy từ
một nguồn dữ liệu sử dụng thuộc tính DataSourceID của
điều khiển dữ liệu.
Buộc dữ liệu
Điều khiển
SQLDataSource
Điều khiển dữ liệu
(data control)
Liên kết qua thuộc
tính DataSourceID của
điều khiển dữ liệu
ASP.NET cung cấp phương pháp để buộc dữ liệu lấy từ
một nguồn dữ liệu sử dụng thuộc tính DataSourceID của
điều khiển dữ liệu.
Làm quen với lập trình CSDL ASP.NET 22
Điều khiển
SQLDataSource
CSDL
Điều khiển dữ liệu
(data control)
Liên kết qua thuộc
tính DataSourceID của
điều khiển dữ liệu
Điều khiển dữ liệu (điều khiển drop-down list) liên kết
với điều khiển SqlDatasoure
Ví dụ về buộc dữ liệu
<asp:DropDownList ID="ddlCategory" runat="server"
DataSourceID="SqlDataSource1" DataTextField="LongName"
DataValueField="CategoryID" AutoPostBack="True">
</asp:DropDownList>
Điều khiển SqlDatasoure
Làm quen với lập trình CSDL ASP.NET 23
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$
ConnectionStrings:HalloweenConnectionString %>"
SelectCommand="SELECT [CategoryID], [LongName] FROM [Categories]
ORDER BY [LongName]">
</asp:SqlDataSource>
Điều khiển SqlDatasoure
Các thuộc tính của điều khiển SqlDataSource
Điều khiển SqlDataSource
Thuộc tính Phương thức
ID ID của điều khiển
RunAt Luôn được gán bằng Server
ConnectionString Chuỗi kết nối.
Làm quen với lập trình CSDL ASP.NET 24
ConnectionString Chuỗi kết nối.
SelectCommand Định nghĩa câu lệnh Select truy xuất dữ liệu được
thực thi bởi datasource
UpdateCommand Định nghĩa câu lệnh Update
InsertCommand Định nghĩa câu lệnh Insert
Deletecommand Định nghĩa câu lệnh Delete
Ứng dụng gồm:
Drop-down list Chose a category
Hiển thị danh mục phân loại sản
phẩm
Danh mục này lấy từ CSDL
Halloween
Điều khiển DataList
Hiển thị danh sách sản phẩm của
phân loại sản phẩm được chọn
Hai điều khiển SqlDataSource
Lấy dữ liệu từ CSDL và hiển thị lên
Drop-down list và Data List
Giới thiệu ứng dụng Product List
Ứng dụng gồm:
Drop-down list Chose a category
Hiển thị danh mục phân loại sản
phẩm
Danh mục này lấy từ CSDL
Halloween
Điều khiển DataList
Hiển thị danh sách sản phẩm của
phân loại sản phẩm được chọn
Hai điều khiển SqlDataSource
Lấy dữ liệu từ CSDL và hiển thị lên
Drop-down list và Data List
Làm quen với lập trình CSDL ASP.NET 25
Ứng dụng Product List ở chế độ Design
Categories
Chứa phân loại danh mục sản
phẩm
Products
Chứa danh sách sản phẩm
Customers
Chứa thông tin khách hàng
Invoices
Lưu thông tin hóa đơn mua
hàng
LineItems
Lưu thông tin danh sách các
item của từng hóa đơn
CSDL Halloween của ứng dụng
Categories
Chứa phân loại danh mục sản
phẩm
Products
Chứa danh sách sản phẩm
Customers
Chứa thông tin khách hàng
Invoices
Lưu thông tin hóa đơn mua
hàng
LineItems
Lưu thông tin danh sách các
item của từng hóa đơn
Làm quen với lập trình CSDL ASP.NET 26
Demo thêm và cấu hình điều khiển SqlDataSource cho
drop-down list Chose a Category (hiển thị danh sách
danh mục sản phẩm lưu trong bảng Categories)
1. Lấy dữ liệu lưu vào datasource
Thêm điều khiển SqlDataSource
Lưu chuỗi kết nối trong file web.Config
Cấu hình câu lệnh SELECT
2. Liên kết dropdown list với datasource
Nội dung demo
Demo thêm và cấu hình điều khiển SqlDataSource cho
drop-down list Chose a Category (hiển thị danh sách
danh mục sản phẩm lưu trong bảng Categories)
1. Lấy dữ liệu lưu vào datasource
Thêm điều khiển SqlDataSource
Lưu chuỗi kết nối trong file web.Config
Cấu hình câu lệnh SELECT
2. Liên kết dropdown list với datasource
Làm quen với lập trình CSDL ASP.NET 27
Lấy dữ liệu lưu vào DataSource
Thêm điều khiển SqlDataSource
Làm quen với lập trình CSDL ASP.NET 28
Hai cách lưu chuỗi kết nối
Cố định mã trong ứng dụng
Khi CSDL thay đổi, phải sửa lại chuỗi
kết nối và biên dịch lại
Lưu trong file web.config
Khi CSDL thay đổi, chỉ cần sửa lại
chuỗi kết nối trong file web.config,
không phải biên dịch lại
Luôn lưu chuỗi trong file Web.config
Lấy dữ liệu lưu vào DataSource
Lưu chuỗi kết nối trong file Web.config
Hai cách lưu chuỗi kết nối
Cố định mã trong ứng dụng
Khi CSDL thay đổi, phải sửa lại chuỗi
kết nối và biên dịch lại
Lưu trong file web.config
Khi CSDL thay đổi, chỉ cần sửa lại
chuỗi kết nối trong file web.config,
không phải biên dịch lại
Luôn lưu chuỗi trong file Web.config
Làm quen với lập trình CSDL ASP.NET 29
<connectionStrings>
<add name="HalloweenConnectionString"
connectionString="Data Source=POLY_115_LINHKT;
Initial Catalog=Halloween;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
Chọn check box này. Chuỗi
kết nối sẽ tự động lưu trong
file Web.config
Lấy dữ liệu lưu vào DataSource
-Chỉ định tên
bảng
- Chọn các cột lấy
dữ liệu
-Sử dụng các nút để
thêm các mệnh đề
WHERE, ORDER BY
cho câu lệnh SELECT
Cấu hình câu lệnh SELECT
Làm quen với lập trình CSDL ASP.NET 30
-Chỉ định tên
bảng
- Chọn các cột lấy
dữ liệu
-Sử dụng các nút để
thêm các mệnh đề
WHERE, ORDER BY
cho câu lệnh SELECT
-Câu lệnh
SELECT được tạo
ra
Mã .aspx của điều khiển SqlDataSource tự sinh
Mã aspx của
điều khiển SqlDataSource
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$
ConnectionStrings:HalloweenConnectionString %>"
SelectCommand="SELECT [CategoryID], [LongName] FROM
[Categories] ORDER BY [LongName]">
</asp:SqlDataSource>
Làm quen với lập trình CSDL ASP.NET 31
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$
ConnectionStrings:HalloweenConnectionString %>"
SelectCommand="SELECT [CategoryID], [LongName] FROM
[Categories] ORDER BY [LongName]">
</asp:SqlDataSource>
Các cách liên kết datasource với điều khiển list
Sửa trực tiếp các thuộc tính buộc dữ liệu trong chế độ
Source
Sử dụng cửa sổ Properties của điều khiển để sửa các
thuộc tính buộc dữ liệu
Sử dụng Data Source Configuration Winzard
Liên kết
datasource với điều khiển list
Các cách liên kết datasource với điều khiển list
Sửa trực tiếp các thuộc tính buộc dữ liệu trong chế độ
Source
Sử dụng cửa sổ Properties của điều khiển để sửa các
thuộc tính buộc dữ liệu
Sử dụng Data Source Configuration Winzard
Làm quen với lập trình CSDL ASP.NET 32
- Click vào đây để mở menu smart tag
- Chọn Chose Data Source để mở Data
Source Configuration Winzard
Các thuộc tính sử dụng để liên kết dữ liệu
Ví dụ đoạn mã aspx của điều khiển drop-down list liên
kết tới datasource
Liên kết
datasource với điều khiển list
Thuộc tính Mô tả
DataSourceID ID của datasource
DataTextField Tên trường dữ liệu của data source hiển thị trên danh
sách
DataValueField Giá trị trả về khi trường dữ liệu tương ứng
(DataTextField) được chọn
Các thuộc tính sử dụng để liên kết dữ liệu
Ví dụ đoạn mã aspx của điều khiển drop-down list liên
kết tới datasource
Làm quen với lập trình CSDL ASP.NET 33
<asp:DropDownList ID="ddlCategory"
runat="server"
DataSourceID="SqlDataSource1"
DataTextField="LongName"
DataValueField="CategoryID"
AutoPostBack="True">
</asp:DropDownList>
Giá trị hiển thị trên List Costumes tương
ứng với trường LongName của nguồn dữ
liệu
Giá trị trả về khi Cosumes được chọn là
CategoryID tương ứng với LongName là
Costumes
Làm quen với lập trình CSDL ASP.NET 34
Là điều khiển hỗ trợ
buộc dữ liệu thuộc nhóm
Data trên Toolbox
Dùng để trình bày dữ
liệu được truy xuất từ
một datasource dưới
dạng danh sách
Hỗ trợ thao tác truy
xuất, cập nhật, thêm,
xóa CSDL
Để định nghĩa các thông
tin hiển thị trên một
datalist, ta tạo ra các
Template cho datalist.
Điều khiển DataList
HeaderTemplate
Là điều khiển hỗ trợ
buộc dữ liệu thuộc nhóm
Data trên Toolbox
Dùng để trình bày dữ
liệu được truy xuất từ
một datasource dưới
dạng danh sách
Hỗ trợ thao tác truy
xuất, cập nhật, thêm,
xóa CSDL
Để định nghĩa các thông
tin hiển thị trên một
datalist, ta tạo ra các
Template cho datalist.
Làm quen với lập trình CSDL ASP.NET 35
Một ví dụ về DataList
Dữ liệu được hiển thị dưới dạng bảng
ItemTemplate
Các loại template của điều khiển DataList
Bạn có thể tạo nhiều template cho một DataList. Hai
Template thường sử dụng là HeaderTemplate và
ItemTemplate.
Visual Studio cung cấp giao diện thiết kế để định nghĩa
giao diện cho các Template.
Template
Template Mô tả
HeaderTemplate Hiển thị tiêu đề cho datalist trước phần tử đầu
tiên của datasource
FooterTemplate Hiển thị sau phần tử cuối cùng của datasource
ItemTemplate Hiển thị các phần tử của datasource
AlternatingItemTemplate Hiển thị cho các phần tử luân phiên
Các loại template của điều khiển DataList
Bạn có thể tạo nhiều template cho một DataList. Hai
Template thường sử dụng là HeaderTemplate và
ItemTemplate.
Visual Studio cung cấp giao diện thiết kế để định nghĩa
giao diện cho các Template.
Làm quen với lập trình CSDL ASP.NET 36
AlternatingItemTemplate Hiển thị cho các phần tử luân phiên
SeparatorTemplate Hiển thị gữa các phần tử
Cung cấp các chức năng để làm việc với DataList sử
dụng giao diện thiết kế đồ họa.
Các chức năng quan trọng
Chose Data Source: Cấu hình datasource hoặc tạo một
datasource mới cho DataList
Configure Data Source: Cấu hình/Sửa cấu hình DataSource
(cấu hình câu lệnh Select, Update…)
Refresh schema: Làm mới schema CSDL. Sử dụng nếu
Schema không hiển thị
Edit Templates: Tạo và sửa Template cho DataList
Smart Tag Menu
Cung cấp các chức năng để làm việc với DataList sử
dụng giao diện thiết kế đồ họa.
Các chức năng quan trọng
Chose Data Source: Cấu hình datasource hoặc tạo một
datasource mới cho DataList
Configure Data Source: Cấu hình/Sửa cấu hình DataSource
(cấu hình câu lệnh Select, Update…)
Refresh schema: Làm mới schema CSDL. Sử dụng nếu
Schema không hiển thị
Edit Templates: Tạo và sửa Template cho DataList
Làm quen với lập trình CSDL ASP.NET 37
Các bước làm việc với DataList
Thêm điều khiển DataList vào WebForm
Tạo và cấu hình DataSource cho DataList
Thêm định nghĩa các Template cho DataList
Buộc dữ liệu cho các điều khiển trên các Template
Làm việc với DataList
Các bước làm việc với DataList
Thêm điều khiển DataList vào WebForm
Tạo và cấu hình DataSource cho DataList
Thêm định nghĩa các Template cho DataList
Buộc dữ liệu cho các điều khiển trên các Template
Làm quen với lập trình CSDL ASP.NET 38
Thêm điều khiển DataList cho ứng dụng
ProductList. DataList này hiển thị danh
sách sản phẩm của danh mục sản phẩm
được chọn.
Nội dung demo
Thêm điều khiển DataList
Cấu hình DataSource cho DataList
Cấu hình câu lệnh SELECT có chứa tham
số
Định nghĩa Template cho DataList
Buộc dữ liệu cho các điều khiển trên
ItemTemplate
Demo
Sử dụng DataList
Thêm điều khiển DataList cho ứng dụng
ProductList. DataList này hiển thị danh
sách sản phẩm của danh mục sản phẩm
được chọn.
Nội dung demo
Thêm điều khiển DataList
Cấu hình DataSource cho DataList
Cấu hình câu lệnh SELECT có chứa tham
số
Định nghĩa Template cho DataList
Buộc dữ liệu cho các điều khiển trên
ItemTemplate
Làm quen với lập trình CSDL ASP.NET 39
Demo
Cấu hình DataSource cho DataList
Câu lệnh SELECT chứa tham số
Làm quen với lập trình CSDL ASP.NET 40
Kiểu phần tử định
nghĩa tham số cho câu
lệnh SELECT
Mã aspx của điều khiển SqlDataSource với câu lệnh
SELECT chứa tham số
Demo
Cấu hình DataSource cho DataList
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:HalloweenConnectionString
%>"
SelectCommand="SELECT [ProductID], [Name], [UnitPrice], [OnHand]
FROM [Products]
WHERE ([CategoryID] = @CategoryID)
ORDER BY [ProductID]">
<SelectParameters>
<asp:ControlParameter ControlID="ddlCategory"
Name="CategoryID"
PropertyName="SelectedValue" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
Làm quen với lập trình CSDL ASP.NET 41
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:HalloweenConnectionString
%>"
SelectCommand="SELECT [ProductID], [Name], [UnitPrice], [OnHand]
FROM [Products]
WHERE ([CategoryID] = @CategoryID)
ORDER BY [ProductID]">
<SelectParameters>
<asp:ControlParameter ControlID="ddlCategory"
Name="CategoryID"
PropertyName="SelectedValue" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
Sinh viên tham khảo thêm các phần tử sử dụng để định nghĩa tham
số cho câu lệnh SELECT trong SGK
Nội dung demo:
Định nghĩa HeaderTemplate
cho DataList
Định nghĩa ItemTemplate cho
DataList
Định dạng hiển thị cho
DataList
Demo
Định nghĩa các template cho DataList
Nội dung demo:
Định nghĩa HeaderTemplate
cho DataList
Định nghĩa ItemTemplate cho
DataList
Định dạng hiển thị cho
DataList
Làm quen với lập trình CSDL ASP.NET 42
Chọn Edit Templates trong menu smart
tag của điều khiển DataList để định
nghĩa các template
1. Chọn loại Template cần định nghĩa.
2. Thêm các thành phần cho Template
Có thể thêm:
Bảng, text, label, các điều khiển vào
template
Đoạn mã aspx được tạo ra
Demo
Định nghĩa các template cho DataList
<asp:DataList ID="dlProducts" runat="server" DataKeyField="ProductID"
DataSourceID="SqlDataSource2" CellPadding="3" GridLines="Vertical">
<HeaderTemplate>
<table>
<tr>
<td class="col1">ID</td>
<td class="col2">Product</td>
<td class="col3">Unit Price</td>
<td class="col4">On Hand</td>
</tr>
</table>
</HeaderTemplate>
<%-- đoạn mã định nghĩa các template khác được viết ở dây--%>
<HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
</asp:DataList>
Làm quen với lập trình CSDL ASP.NET 43
<asp:DataList ID="dlProducts" runat="server" DataKeyField="ProductID"
DataSourceID="SqlDataSource2" CellPadding="3" GridLines="Vertical">
<HeaderTemplate>
<table>
<tr>
<td class="col1">ID</td>
<td class="col2">Product</td>
<td class="col3">Unit Price</td>
<td class="col4">On Hand</td>
</tr>
</table>
</HeaderTemplate>
<%-- đoạn mã định nghĩa các template khác được viết ở dây--%>
<HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
</asp:DataList>
Các template hỗ trợ buộc dữ liệu
ItemTemplate
AlternatingItemTemplate
Demo
Buộc dữ liệu
cho các điều khiển trong template
Làm quen với lập trình CSDL ASP.NET 44
Hai phương thức sử dụng cho biểu thức mã:
- Eval <%# Eval("UnitPrice", "{0:C}") %>
Chỉ dùng để hiển thị dữ liệu
- Bind <%# Bind("UnitPrice", "{0:C}") %>
Dùng để hiển thị dữ liệu và cập nhật dữ liệu từ
nguồn dữ liệu
Sinh viên tìm hiểu các vấn đề sau:
Tạo một datasource có thể cập
nhật CSDL
Sử dụng bộ đệm dữ liệu
Sinh viên tìm hiểu các vấn đề sau:
Tạo một datasource có thể cập
nhật CSDL
Sử dụng bộ đệm dữ liệu
Làm quen với lập trình CSDL ASP.NET 45
ADO.NET
Ứng dụng ASP.NET sử dụng ADO.NET để thao tác với
CSDL
ADO.NET là một phần của .NET Framework, được xem là
“bộ thư viện lớp” chịu trách nhiệm xử lý dữ liệu trong ngôn
ngữ MS .NET.
Các thành phần cơ bản của ADO.NET
.NET data provider: cung cấp các lớp để tương tác với CSDL
Dataset: Là bản sao của CSDL hay một phần CSDL trên bộ
nhớ
Kết nối giữa ứng dụng và cở sở dữ liệu (CSDL) thông qua
ADO.NET theo hai kiến trúc
Kiến trúc kết nối
Kiến trúc không kết nối
Tổng kết
ADO.NET
Ứng dụng ASP.NET sử dụng ADO.NET để thao tác với
CSDL
ADO.NET là một phần của .NET Framework, được xem là
“bộ thư viện lớp” chịu trách nhiệm xử lý dữ liệu trong ngôn
ngữ MS .NET.
Các thành phần cơ bản của ADO.NET
.NET data provider: cung cấp các lớp để tương tác với CSDL
Dataset: Là bản sao của CSDL hay một phần CSDL trên bộ
nhớ
Kết nối giữa ứng dụng và cở sở dữ liệu (CSDL) thông qua
ADO.NET theo hai kiến trúc
Kiến trúc kết nối
Kiến trúc không kết nối
Làm quen với lập trình CSDL ASP.NET 46
Điều khiển data source
Điều khiển data source quản lý các tác vụ kết nối đến
CSDL, đọc và ghi dữ liệu.
Bản chất của việc sử dụng điều khiển datasource cũng là
truy cập qua các đối tượng ADO.NET, nhưng sử dụng ít
code hơn ADO.NET
Điều khiển datasource được buộc vào một điều khiển dữ
liệu để hiển thị dữ liệu cho người dùng.
Hai loại điều khiển datasource thường dùng
SQL DataSource
ObjectDataSource (Hỗ trợ kiến trúc ba tầng)
Tổng kết
Điều khiển data source
Điều khiển data source quản lý các tác vụ kết nối đến
CSDL, đọc và ghi dữ liệu.
Bản chất của việc sử dụng điều khiển datasource cũng là
truy cập qua các đối tượng ADO.NET, nhưng sử dụng ít
code hơn ADO.NET
Điều khiển datasource được buộc vào một điều khiển dữ
liệu để hiển thị dữ liệu cho người dùng.
Hai loại điều khiển datasource thường dùng
SQL DataSource
ObjectDataSource (Hỗ trợ kiến trúc ba tầng)
Làm quen với lập trình CSDL ASP.NET 47
Điều khiển DataList
Dùng để trình bày dữ liệu được truy xuất từ một
datasource dưới dạng danh sách
Hỗ trợ thao tác truy xuất, cập nhật, thêm, xóa CSDL
Để định nghĩa các thông tin hiển thị trên một datalist, ta
tạo ra các Template cho datalist.
Tổng kết
Điều khiển DataList
Dùng để trình bày dữ liệu được truy xuất từ một
datasource dưới dạng danh sách
Hỗ trợ thao tác truy xuất, cập nhật, thêm, xóa CSDL
Để định nghĩa các thông tin hiển thị trên một datalist, ta
tạo ra các Template cho datalist.
Làm quen với lập trình CSDL ASP.NET 48

More Related Content

What's hot

Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tin
Võ Phúc
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
The Boss
 
NoSql Database
NoSql DatabaseNoSql Database
NoSql Database
Nguyen Thieu
 
Bài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýBài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lý
MasterCode.vn
 
Bài tập lớn Phát triển phần mềm hướng dịch vụ PTIT
Bài tập lớn Phát triển phần mềm hướng dịch vụ PTITBài tập lớn Phát triển phần mềm hướng dịch vụ PTIT
Bài tập lớn Phát triển phần mềm hướng dịch vụ PTIT
Popping Khiem - Funky Dance Crew PTIT
 
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
giapmaster
 
Đề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đ
Đề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đĐề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đ
Đề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đ
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Hệ điều hành (chương 5)
Hệ điều hành (chương 5)Hệ điều hành (chương 5)
Hệ điều hành (chương 5)realpotter
 
Bài 3: Xác định yêu cầu hệ thống & Phân tích quy trình xử lý nghiệp vụ - Giáo...
Bài 3: Xác định yêu cầu hệ thống & Phân tích quy trình xử lý nghiệp vụ - Giáo...Bài 3: Xác định yêu cầu hệ thống & Phân tích quy trình xử lý nghiệp vụ - Giáo...
Bài 3: Xác định yêu cầu hệ thống & Phân tích quy trình xử lý nghiệp vụ - Giáo...
MasterCode.vn
 
ERD - Database Design
ERD - Database DesignERD - Database Design
ERD - Database Design
yht4ever
 
Chương 2. Các khái niệm trong CSDL
Chương 2. Các khái niệm trong CSDL Chương 2. Các khái niệm trong CSDL
Chương 2. Các khái niệm trong CSDL
Hoa Le
 
03 chuong 3 - data sets
03   chuong 3 - data sets03   chuong 3 - data sets
03 chuong 3 - data sets
truong le hung
 
Quy tắc thiết kế giao diện và viết code C#
Quy tắc thiết kế giao diện và viết code C#Quy tắc thiết kế giao diện và viết code C#
Quy tắc thiết kế giao diện và viết code C#
An Nguyen
 
Bài 1 - Làm quen với C# - Lập trình winform
Bài 1 - Làm quen với C# - Lập trình winformBài 1 - Làm quen với C# - Lập trình winform
Bài 1 - Làm quen với C# - Lập trình winform
MasterCode.vn
 
Chương 4. Chuẩn hóa cơ sở dữ liệu
Chương 4. Chuẩn hóa cơ sở dữ liệu Chương 4. Chuẩn hóa cơ sở dữ liệu
Chương 4. Chuẩn hóa cơ sở dữ liệu
Hoa Le
 
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phêbáo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
thuhuynhphonegap
 
Lập trình ứng dụng web asp.net Trung Tâm Tin Học Khoa Học Tự Nhiên
Lập trình ứng dụng web asp.net Trung Tâm Tin Học Khoa Học Tự NhiênLập trình ứng dụng web asp.net Trung Tâm Tin Học Khoa Học Tự Nhiên
Lập trình ứng dụng web asp.net Trung Tâm Tin Học Khoa Học Tự Nhiên
MasterCode.vn
 
Hệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng onlineHệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng online
Han Nguyen
 
KHO DỮ LIỆU VÀ KHAI PHÁ DỮ LIỆU PTIT
KHO DỮ LIỆU VÀ KHAI PHÁ DỮ LIỆU PTITKHO DỮ LIỆU VÀ KHAI PHÁ DỮ LIỆU PTIT
KHO DỮ LIỆU VÀ KHAI PHÁ DỮ LIỆU PTIT
Popping Khiem - Funky Dance Crew PTIT
 
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
MasterCode.vn
 

What's hot (20)

Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tin
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
 
NoSql Database
NoSql DatabaseNoSql Database
NoSql Database
 
Bài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýBài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lý
 
Bài tập lớn Phát triển phần mềm hướng dịch vụ PTIT
Bài tập lớn Phát triển phần mềm hướng dịch vụ PTITBài tập lớn Phát triển phần mềm hướng dịch vụ PTIT
Bài tập lớn Phát triển phần mềm hướng dịch vụ PTIT
 
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
 
Đề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đ
Đề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đĐề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đ
Đề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đ
 
Hệ điều hành (chương 5)
Hệ điều hành (chương 5)Hệ điều hành (chương 5)
Hệ điều hành (chương 5)
 
Bài 3: Xác định yêu cầu hệ thống & Phân tích quy trình xử lý nghiệp vụ - Giáo...
Bài 3: Xác định yêu cầu hệ thống & Phân tích quy trình xử lý nghiệp vụ - Giáo...Bài 3: Xác định yêu cầu hệ thống & Phân tích quy trình xử lý nghiệp vụ - Giáo...
Bài 3: Xác định yêu cầu hệ thống & Phân tích quy trình xử lý nghiệp vụ - Giáo...
 
ERD - Database Design
ERD - Database DesignERD - Database Design
ERD - Database Design
 
Chương 2. Các khái niệm trong CSDL
Chương 2. Các khái niệm trong CSDL Chương 2. Các khái niệm trong CSDL
Chương 2. Các khái niệm trong CSDL
 
03 chuong 3 - data sets
03   chuong 3 - data sets03   chuong 3 - data sets
03 chuong 3 - data sets
 
Quy tắc thiết kế giao diện và viết code C#
Quy tắc thiết kế giao diện và viết code C#Quy tắc thiết kế giao diện và viết code C#
Quy tắc thiết kế giao diện và viết code C#
 
Bài 1 - Làm quen với C# - Lập trình winform
Bài 1 - Làm quen với C# - Lập trình winformBài 1 - Làm quen với C# - Lập trình winform
Bài 1 - Làm quen với C# - Lập trình winform
 
Chương 4. Chuẩn hóa cơ sở dữ liệu
Chương 4. Chuẩn hóa cơ sở dữ liệu Chương 4. Chuẩn hóa cơ sở dữ liệu
Chương 4. Chuẩn hóa cơ sở dữ liệu
 
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phêbáo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
 
Lập trình ứng dụng web asp.net Trung Tâm Tin Học Khoa Học Tự Nhiên
Lập trình ứng dụng web asp.net Trung Tâm Tin Học Khoa Học Tự NhiênLập trình ứng dụng web asp.net Trung Tâm Tin Học Khoa Học Tự Nhiên
Lập trình ứng dụng web asp.net Trung Tâm Tin Học Khoa Học Tự Nhiên
 
Hệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng onlineHệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng online
 
KHO DỮ LIỆU VÀ KHAI PHÁ DỮ LIỆU PTIT
KHO DỮ LIỆU VÀ KHAI PHÁ DỮ LIỆU PTITKHO DỮ LIỆU VÀ KHAI PHÁ DỮ LIỆU PTIT
KHO DỮ LIỆU VÀ KHAI PHÁ DỮ LIỆU PTIT
 
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
 

Similar to Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo

Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
MasterCode.vn
 
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
01   chuong 1 - gioi thieu ado.net va ket noi den csdl01   chuong 1 - gioi thieu ado.net va ket noi den csdl
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
truong le hung
 
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
MasterCode.vn
 
01 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp0101 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp01
huynhtrong774129
 
Bài 7: Đối tượng Data Source -Đóng gói ứng dụng - Giới thiệu các kĩ thuật lập...
Bài 7: Đối tượng Data Source -Đóng gói ứng dụng - Giới thiệu các kĩ thuật lập...Bài 7: Đối tượng Data Source -Đóng gói ứng dụng - Giới thiệu các kĩ thuật lập...
Bài 7: Đối tượng Data Source -Đóng gói ứng dụng - Giới thiệu các kĩ thuật lập...
MasterCode.vn
 
6.adapterset
6.adapterset6.adapterset
6.adaptersetDao Uit
 
Data provider
Data providerData provider
Data provider
ngocminh1984
 
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#Dao Uit
 
Lap trinhcosodulieuvoi c-sharp_phan-1
Lap trinhcosodulieuvoi c-sharp_phan-1Lap trinhcosodulieuvoi c-sharp_phan-1
Lap trinhcosodulieuvoi c-sharp_phan-1Hiển Phùng
 
Trong bài viết hôm nay
Trong bài viết hôm nayTrong bài viết hôm nay
Trong bài viết hôm nay
ledoanduc
 
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...zzsunzz
 
04 ado
04 ado04 ado
04 ado
hao191999
 
01 tong-quan-ado
01 tong-quan-ado01 tong-quan-ado
01 tong-quan-ado
duongtam1506
 
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
MasterCode.vn
 
3.tao mot ket noi toi co so du lieu dung c#
3.tao mot ket noi toi co so du lieu dung c#3.tao mot ket noi toi co so du lieu dung c#
3.tao mot ket noi toi co so du lieu dung c#Dao Uit
 

Similar to Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo (20)

Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
 
ado.net
ado.netado.net
ado.net
 
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
01   chuong 1 - gioi thieu ado.net va ket noi den csdl01   chuong 1 - gioi thieu ado.net va ket noi den csdl
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
 
Ung dung web chuong 6
Ung dung web  chuong 6Ung dung web  chuong 6
Ung dung web chuong 6
 
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
 
01 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp0101 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp01
 
Bài 7: Đối tượng Data Source -Đóng gói ứng dụng - Giới thiệu các kĩ thuật lập...
Bài 7: Đối tượng Data Source -Đóng gói ứng dụng - Giới thiệu các kĩ thuật lập...Bài 7: Đối tượng Data Source -Đóng gói ứng dụng - Giới thiệu các kĩ thuật lập...
Bài 7: Đối tượng Data Source -Đóng gói ứng dụng - Giới thiệu các kĩ thuật lập...
 
6.adapterset
6.adapterset6.adapterset
6.adapterset
 
Aspnet 3.5 _02
Aspnet 3.5 _02Aspnet 3.5 _02
Aspnet 3.5 _02
 
Data provider
Data providerData provider
Data provider
 
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
 
Cach su dung data reader
Cach su dung data readerCach su dung data reader
Cach su dung data reader
 
Lap trinhcosodulieuvoi c-sharp_phan-1
Lap trinhcosodulieuvoi c-sharp_phan-1Lap trinhcosodulieuvoi c-sharp_phan-1
Lap trinhcosodulieuvoi c-sharp_phan-1
 
Trong bài viết hôm nay
Trong bài viết hôm nayTrong bài viết hôm nay
Trong bài viết hôm nay
 
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
 
04 ado
04 ado04 ado
04 ado
 
01 tong-quan-ado
01 tong-quan-ado01 tong-quan-ado
01 tong-quan-ado
 
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
 
Bài 6: Working with DATA
Bài 6: Working with DATABài 6: Working with DATA
Bài 6: Working with DATA
 
3.tao mot ket noi toi co so du lieu dung c#
3.tao mot ket noi toi co so du lieu dung c#3.tao mot ket noi toi co so du lieu dung c#
3.tao mot ket noi toi co so du lieu dung c#
 

More from MasterCode.vn

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
MasterCode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vn
MasterCode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vn
MasterCode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
MasterCode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vn
MasterCode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
MasterCode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
MasterCode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
MasterCode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
MasterCode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
MasterCode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
MasterCode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
MasterCode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
MasterCode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
MasterCode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
MasterCode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
MasterCode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
MasterCode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
MasterCode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
MasterCode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
MasterCode.vn
 

More from MasterCode.vn (20)

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
 

Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo

  • 1. Bài 5: Làm quen với lập trình CSDL ASP.NET
  • 2. Những nội dung đã học ở bài trước Trang Master Điều hướng trang Web Sử dụng Theme Hệ thống bài cũ Làm quen với lập trình CSDL ASP.NET 2
  • 3. Mục tiêu bài học 1. ADO.NET Làm quen với lập trình CSDL ASP.NET 3 2. Điều khiển Data Source 3. Điều khiển Data List
  • 4. Làm quen với lập trình CSDL ASP.NET 4
  • 5. Hầu hết các ứng dụng ASP.NET đều có tương tác với CSDL. Tương tự như ứng dụng Windows, Ứng dụng ASP.NET cũng sử dụng ADO.NET để thao tác với CSDL ADO.NET là một phần của .NET Framework, được xem là “bộ thư viện lớp” chịu trách nhiệm xử lý dữ liệu trong ngôn ngữ MS .NET. Lập trình CSDL với ASP.NET Hầu hết các ứng dụng ASP.NET đều có tương tác với CSDL. Tương tự như ứng dụng Windows, Ứng dụng ASP.NET cũng sử dụng ADO.NET để thao tác với CSDL ADO.NET là một phần của .NET Framework, được xem là “bộ thư viện lớp” chịu trách nhiệm xử lý dữ liệu trong ngôn ngữ MS .NET. Làm quen với lập trình CSDL ASP.NET 5
  • 6. ADO hỗ trợ kết nối tới các hệ quản trị CSDL: SQL Server, Microsoft Access, Oracle… Các thành phần cơ bản của ADO.NET .NET data provider: cung cấp các lớp để tương tác với CSDL Dataset: Là bản sao của CSDL hay một phần CSDL trên bộ nhớ ADO.NET ADO hỗ trợ kết nối tới các hệ quản trị CSDL: SQL Server, Microsoft Access, Oracle… Các thành phần cơ bản của ADO.NET .NET data provider: cung cấp các lớp để tương tác với CSDL Dataset: Là bản sao của CSDL hay một phần CSDL trên bộ nhớ Làm quen với lập trình CSDL ASP.NET 6
  • 7. Data provider cung cấp các lớp để tương tác với CSDL Data provider gồm 4 thành phần chính Connection: kết nối với CSDL Command: thực thi các lệnh sql để lấy dữ liệu từ CSDL hoặc thay đổi CSDL DataReader: đọc dữ liệu tuần tự từ CSDL DataAdapter: lấy dữ liệu từ CSDL lưu vào dataset và cập nhật CSDL Data Provider Data provider cung cấp các lớp để tương tác với CSDL Data provider gồm 4 thành phần chính Connection: kết nối với CSDL Command: thực thi các lệnh sql để lấy dữ liệu từ CSDL hoặc thay đổi CSDL DataReader: đọc dữ liệu tuần tự từ CSDL DataAdapter: lấy dữ liệu từ CSDL lưu vào dataset và cập nhật CSDL Làm quen với lập trình CSDL ASP.NET 7
  • 8. Dataset Là bản sao của CSDL hay một phần CSDL trên bộ nhớ DataSet hỗ trợ các thao tác cập nhật CSDL Cấu trúc của DataSet giống hệt cấu trúc của cơ sở dữ liệu DataSet Dataset Là bản sao của CSDL hay một phần CSDL trên bộ nhớ DataSet hỗ trợ các thao tác cập nhật CSDL Cấu trúc của DataSet giống hệt cấu trúc của cơ sở dữ liệu Làm quen với lập trình CSDL ASP.NET 8
  • 9. Kết nối giữa ứng dụng và cở sở dữ liệu (CSDL) thông qua ADO.NET theo hai kiến trúc: Kiến trúc kết nối Thực hiện kết nối tới CSDL trong khi đang thực hiện các thao tác với dữ liệu. Các đối tượng tham gia: Connection, Command, DataReader, DataAdapter Kiến trúc không kết nối DataAdapter kết nối với CSDL thông qua Connection, lấy dữ liệu lưu vào DataSet. Ứng dụng sẽ lấy và thay đổi dữ liệu trên DataSet DataAdapter kết nối với CSDL thông qua Connection và cập nhật lại CSDL ADO.NET Kết nối giữa ứng dụng và cở sở dữ liệu (CSDL) thông qua ADO.NET theo hai kiến trúc: Kiến trúc kết nối Thực hiện kết nối tới CSDL trong khi đang thực hiện các thao tác với dữ liệu. Các đối tượng tham gia: Connection, Command, DataReader, DataAdapter Kiến trúc không kết nối DataAdapter kết nối với CSDL thông qua Connection, lấy dữ liệu lưu vào DataSet. Ứng dụng sẽ lấy và thay đổi dữ liệu trên DataSet DataAdapter kết nối với CSDL thông qua Connection và cập nhật lại CSDL Làm quen với lập trình CSDL ASP.NET 9
  • 10. Các bước sử dụng đối tượng DataReader để truy xuất thông tin B1. Thiết lập chuỗi kết nối cho đối tượng Connection B2. Tạo đối tượng Command, truyền đối tượng Connection cho đối tượng Command. B3: Gọi phương thức Open() của đối tượng Connection để mở kết nối tới CSDL B4. Gọi phương thức ExecuteReader() của đối tượng command để trả về dữ liệu kiểu DataReader. B5. Sử dụng phương thức Read() của DataReader để đọc từng dòng Kiến trúc kết nối Các bước sử dụng đối tượng DataReader để truy xuất thông tin B1. Thiết lập chuỗi kết nối cho đối tượng Connection B2. Tạo đối tượng Command, truyền đối tượng Connection cho đối tượng Command. B3: Gọi phương thức Open() của đối tượng Connection để mở kết nối tới CSDL B4. Gọi phương thức ExecuteReader() của đối tượng command để trả về dữ liệu kiểu DataReader. B5. Sử dụng phương thức Read() của DataReader để đọc từng dòng Làm quen với lập trình CSDL ASP.NET 10
  • 11. Truy xuất CSDL và hiển thị thông tin lên một điều khiển drop-down list Nội dung demo Tạo chuỗi kết nối trong file web.config Khai báo các đối tượng Đối tượng Connection Đối tượng Command Đối tượng DataReader Mở kết nối tới CSDL và truy xuất thông tin Mở đối tượng kết nối Gọi ExecuteReader() trên đối tượng Command đã được cấu hình. Xử lý mỗi mẫu tin sử dụng phương thức Read() của DataReader. Demo Truy cập CSDL sử dụng kiến trúc kết nối Truy xuất CSDL và hiển thị thông tin lên một điều khiển drop-down list Nội dung demo Tạo chuỗi kết nối trong file web.config Khai báo các đối tượng Đối tượng Connection Đối tượng Command Đối tượng DataReader Mở kết nối tới CSDL và truy xuất thông tin Mở đối tượng kết nối Gọi ExecuteReader() trên đối tượng Command đã được cấu hình. Xử lý mỗi mẫu tin sử dụng phương thức Read() của DataReader. Làm quen với lập trình CSDL ASP.NET 11
  • 12. Tạo chuỗi kết nối trong file web.config Demo Truy cập CSDL sử dụng kiến trúc kết nối <connectionStrings> <add name="HalloweenConnectionString" connectionString="Data Source=HAHASQLEXPRESS;Initial Catalog=Halloween;Integrated Security=True" providerName="System.Data.SqlClient"/> </connectionStrings> Khai báo một thuộc tính trong lớp code-behind để lấy thông tin chuỗi kết nối Làm quen với lập trình CSDL ASP.NET 12 Khai báo một thuộc tính trong lớp code-behind để lấy thông tin chuỗi kết nối private string connectionString = WebConfigurationManager.ConnectionStrings["HalloweenConnectionString"].ConnectionString;
  • 13. Khai báo các đối tượng Connection, Command, DataReader Demo Truy cập CSDL sử dụng kiến trúc kết nối private void FillDdlCategories() { ddlCategories.Items.Clear(); //Định nghĩa câu lệnh SQL string selectSQL = "SELECT CategoryID, LongName FROM Categories"; // Định nghĩa đối tượng Connection SqlConnection con = new SqlConnection(connectionString); // Chỉ định cấu hình đối tượng command SqlCommand cmd = new SqlCommand(selectSQL, con); //Khai báo đối tượng data reader SqlDataReader reader; // Viết đoạn mã mở kết nối tới CSDL và truy xuất thông tin tại đây } Làm quen với lập trình CSDL ASP.NET 13 private void FillDdlCategories() { ddlCategories.Items.Clear(); //Định nghĩa câu lệnh SQL string selectSQL = "SELECT CategoryID, LongName FROM Categories"; // Định nghĩa đối tượng Connection SqlConnection con = new SqlConnection(connectionString); // Chỉ định cấu hình đối tượng command SqlCommand cmd = new SqlCommand(selectSQL, con); //Khai báo đối tượng data reader SqlDataReader reader; // Viết đoạn mã mở kết nối tới CSDL và truy xuất thông tin tại đây }
  • 14. Mở kết nối tới CSDL và truy xuất thông tin Demo Truy cập CSDL sử dụng kiến trúc kết nối try { con.Open(); reader = cmd.ExecuteReader(); // Với mỗi phần tử của data reader. Lấy giá trị trường LongName và CategoryID //gán giá trị cho thuộc tính Text & Value của drop-down list while (reader.Read()) { ListItem newItem = new ListItem(); newItem.Text = reader["LongName"].ToString(); newItem.Value = reader["CategoryID"].ToString(); ddlCategories.Items.Add(newItem); } reader.Close(); } catch (Exception err) { lblMessage.Text = "Error reading list of names. "; lblMessage.Text += err.Message; } finally { con.Close(); } Làm quen với lập trình CSDL ASP.NET 14 try { con.Open(); reader = cmd.ExecuteReader(); // Với mỗi phần tử của data reader. Lấy giá trị trường LongName và CategoryID //gán giá trị cho thuộc tính Text & Value của drop-down list while (reader.Read()) { ListItem newItem = new ListItem(); newItem.Text = reader["LongName"].ToString(); newItem.Value = reader["CategoryID"].ToString(); ddlCategories.Items.Add(newItem); } reader.Close(); } catch (Exception err) { lblMessage.Text = "Error reading list of names. "; lblMessage.Text += err.Message; } finally { con.Close(); }
  • 15. Xóa dữ liệu Tạo đối tượng Connection Tạo đối tượng Command, truyền hai tham số cho đối tượng Command là câu lệnh Delete và đối tượng Connection. Gọi phương thức Open() của đối tượng Connection để mở kết nối Gọi phương thức ExecuteNonQuery() của đối tượng Command Xóa dữ liệu Xóa dữ liệu Tạo đối tượng Connection Tạo đối tượng Command, truyền hai tham số cho đối tượng Command là câu lệnh Delete và đối tượng Connection. Gọi phương thức Open() của đối tượng Connection để mở kết nối Gọi phương thức ExecuteNonQuery() của đối tượng Command Làm quen với lập trình CSDL ASP.NET 15
  • 16. Demo Xóa dữ liệu protected void btnDelete_Click(object sender, EventArgs e) { string deleteSQL = "DELETE FROM Categories WHERE CategoryID = @CategoryID"; // Định nghĩa đối tượng Connection SqlConnection con = new SqlConnection(connectionString); // Chỉ định cấu hình đối tượng command SqlCommand cmd = new SqlCommand(deleteSQL, con); //Truyền tham số cho đối tượng cmd cmd.Parameters.AddWithValue("CategoryID", ddlCategories.SelectedValue); try { con.Open(); cmd.ExecuteNonQuery(); lblMessage.Text = "One row has been deleted"; FillDdlCategories(); } catch (Exception err) { lblMessage.Text = "Error deleting row "; lblMessage.Text += err.Message; } finally { con.Close(); } } } Làm quen với lập trình CSDL ASP.NET 16 protected void btnDelete_Click(object sender, EventArgs e) { string deleteSQL = "DELETE FROM Categories WHERE CategoryID = @CategoryID"; // Định nghĩa đối tượng Connection SqlConnection con = new SqlConnection(connectionString); // Chỉ định cấu hình đối tượng command SqlCommand cmd = new SqlCommand(deleteSQL, con); //Truyền tham số cho đối tượng cmd cmd.Parameters.AddWithValue("CategoryID", ddlCategories.SelectedValue); try { con.Open(); cmd.ExecuteNonQuery(); lblMessage.Text = "One row has been deleted"; FillDdlCategories(); } catch (Exception err) { lblMessage.Text = "Error deleting row "; lblMessage.Text += err.Message; } finally { con.Close(); } } }
  • 17. Làm quen với lập trình CSDL ASP.NET 17
  • 18. Ngoài phương pháp truy cập CSDL sử dụng ADO.NET, ASP.NET cung cấp một phương pháp truy cập CSDL khác giúp lập trình viên viết ít mã hơn đó là sử dụng các điều khiển data source. Điều khiển data source quản lý các tác vụ kết nối đến CSDL, đọc và ghi dữ liệu. Truy cập CSDL sử dụng điều khiển Data Source Ngoài phương pháp truy cập CSDL sử dụng ADO.NET, ASP.NET cung cấp một phương pháp truy cập CSDL khác giúp lập trình viên viết ít mã hơn đó là sử dụng các điều khiển data source. Điều khiển data source quản lý các tác vụ kết nối đến CSDL, đọc và ghi dữ liệu. Làm quen với lập trình CSDL ASP.NET 18
  • 19. Điều khiển data source trả về một nguồn dữ liệu (data source). Điều khiển data source được buộc vào một điều khiển dữ liệu (gridview, detailsview…) để hiển thị dữ liệu cho người dùng. Mỗi điều khiển data source có thể được buộc vào nhiều điều khiển dữ liệu Điều khiển Data source cung cấp các tính năng truy xuất, chèn, cập nhật, xóa CSDL Bản chất của việc sử dụng điều khiển data source cũng là truy cập qua các đối tượng ADO.NET Truy cập CSDL sử dụng điều khiển Data Source Điều khiển data source trả về một nguồn dữ liệu (data source). Điều khiển data source được buộc vào một điều khiển dữ liệu (gridview, detailsview…) để hiển thị dữ liệu cho người dùng. Mỗi điều khiển data source có thể được buộc vào nhiều điều khiển dữ liệu Điều khiển Data source cung cấp các tính năng truy xuất, chèn, cập nhật, xóa CSDL Bản chất của việc sử dụng điều khiển data source cũng là truy cập qua các đối tượng ADO.NET Làm quen với lập trình CSDL ASP.NET 19
  • 20. Hai loại điều khiển datasource thường dùng SQLDataSource ObjectDataSource SQLDataSource và ObjectDataSource cung cấp phương pháp truy cập và thao tác với dữ liệu trong một hệ quản trị CSDL. Khác với điều khiển SQLDataSource, điều khiển ObjectDataSource hỗ trợ phát triển ứng dụng CSDL theo kiến trúc ba tầng Truy cập CSDL sử dụng điều khiển Data Source Hai loại điều khiển datasource thường dùng SQLDataSource ObjectDataSource SQLDataSource và ObjectDataSource cung cấp phương pháp truy cập và thao tác với dữ liệu trong một hệ quản trị CSDL. Khác với điều khiển SQLDataSource, điều khiển ObjectDataSource hỗ trợ phát triển ứng dụng CSDL theo kiến trúc ba tầng Làm quen với lập trình CSDL ASP.NET 20
  • 21. Quá trình liên kết trực tiếp giữa điều khiển và dữ liệu gọi là buộc dữ liệu Các điều khiển đã học hỗ trợ buộc dữ liệu: Các điều khiển list như: Drop-down list, List Box, Radio button list, check box list Các điều khiển khác sẽ được học DataList, GridView, DetailsView… Buộc dữ liệu Quá trình liên kết trực tiếp giữa điều khiển và dữ liệu gọi là buộc dữ liệu Các điều khiển đã học hỗ trợ buộc dữ liệu: Các điều khiển list như: Drop-down list, List Box, Radio button list, check box list Các điều khiển khác sẽ được học DataList, GridView, DetailsView… Làm quen với lập trình CSDL ASP.NET 21
  • 22. ASP.NET cung cấp phương pháp để buộc dữ liệu lấy từ một nguồn dữ liệu sử dụng thuộc tính DataSourceID của điều khiển dữ liệu. Buộc dữ liệu Điều khiển SQLDataSource Điều khiển dữ liệu (data control) Liên kết qua thuộc tính DataSourceID của điều khiển dữ liệu ASP.NET cung cấp phương pháp để buộc dữ liệu lấy từ một nguồn dữ liệu sử dụng thuộc tính DataSourceID của điều khiển dữ liệu. Làm quen với lập trình CSDL ASP.NET 22 Điều khiển SQLDataSource CSDL Điều khiển dữ liệu (data control) Liên kết qua thuộc tính DataSourceID của điều khiển dữ liệu
  • 23. Điều khiển dữ liệu (điều khiển drop-down list) liên kết với điều khiển SqlDatasoure Ví dụ về buộc dữ liệu <asp:DropDownList ID="ddlCategory" runat="server" DataSourceID="SqlDataSource1" DataTextField="LongName" DataValueField="CategoryID" AutoPostBack="True"> </asp:DropDownList> Điều khiển SqlDatasoure Làm quen với lập trình CSDL ASP.NET 23 <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:HalloweenConnectionString %>" SelectCommand="SELECT [CategoryID], [LongName] FROM [Categories] ORDER BY [LongName]"> </asp:SqlDataSource> Điều khiển SqlDatasoure
  • 24. Các thuộc tính của điều khiển SqlDataSource Điều khiển SqlDataSource Thuộc tính Phương thức ID ID của điều khiển RunAt Luôn được gán bằng Server ConnectionString Chuỗi kết nối. Làm quen với lập trình CSDL ASP.NET 24 ConnectionString Chuỗi kết nối. SelectCommand Định nghĩa câu lệnh Select truy xuất dữ liệu được thực thi bởi datasource UpdateCommand Định nghĩa câu lệnh Update InsertCommand Định nghĩa câu lệnh Insert Deletecommand Định nghĩa câu lệnh Delete
  • 25. Ứng dụng gồm: Drop-down list Chose a category Hiển thị danh mục phân loại sản phẩm Danh mục này lấy từ CSDL Halloween Điều khiển DataList Hiển thị danh sách sản phẩm của phân loại sản phẩm được chọn Hai điều khiển SqlDataSource Lấy dữ liệu từ CSDL và hiển thị lên Drop-down list và Data List Giới thiệu ứng dụng Product List Ứng dụng gồm: Drop-down list Chose a category Hiển thị danh mục phân loại sản phẩm Danh mục này lấy từ CSDL Halloween Điều khiển DataList Hiển thị danh sách sản phẩm của phân loại sản phẩm được chọn Hai điều khiển SqlDataSource Lấy dữ liệu từ CSDL và hiển thị lên Drop-down list và Data List Làm quen với lập trình CSDL ASP.NET 25 Ứng dụng Product List ở chế độ Design
  • 26. Categories Chứa phân loại danh mục sản phẩm Products Chứa danh sách sản phẩm Customers Chứa thông tin khách hàng Invoices Lưu thông tin hóa đơn mua hàng LineItems Lưu thông tin danh sách các item của từng hóa đơn CSDL Halloween của ứng dụng Categories Chứa phân loại danh mục sản phẩm Products Chứa danh sách sản phẩm Customers Chứa thông tin khách hàng Invoices Lưu thông tin hóa đơn mua hàng LineItems Lưu thông tin danh sách các item của từng hóa đơn Làm quen với lập trình CSDL ASP.NET 26
  • 27. Demo thêm và cấu hình điều khiển SqlDataSource cho drop-down list Chose a Category (hiển thị danh sách danh mục sản phẩm lưu trong bảng Categories) 1. Lấy dữ liệu lưu vào datasource Thêm điều khiển SqlDataSource Lưu chuỗi kết nối trong file web.Config Cấu hình câu lệnh SELECT 2. Liên kết dropdown list với datasource Nội dung demo Demo thêm và cấu hình điều khiển SqlDataSource cho drop-down list Chose a Category (hiển thị danh sách danh mục sản phẩm lưu trong bảng Categories) 1. Lấy dữ liệu lưu vào datasource Thêm điều khiển SqlDataSource Lưu chuỗi kết nối trong file web.Config Cấu hình câu lệnh SELECT 2. Liên kết dropdown list với datasource Làm quen với lập trình CSDL ASP.NET 27
  • 28. Lấy dữ liệu lưu vào DataSource Thêm điều khiển SqlDataSource Làm quen với lập trình CSDL ASP.NET 28
  • 29. Hai cách lưu chuỗi kết nối Cố định mã trong ứng dụng Khi CSDL thay đổi, phải sửa lại chuỗi kết nối và biên dịch lại Lưu trong file web.config Khi CSDL thay đổi, chỉ cần sửa lại chuỗi kết nối trong file web.config, không phải biên dịch lại Luôn lưu chuỗi trong file Web.config Lấy dữ liệu lưu vào DataSource Lưu chuỗi kết nối trong file Web.config Hai cách lưu chuỗi kết nối Cố định mã trong ứng dụng Khi CSDL thay đổi, phải sửa lại chuỗi kết nối và biên dịch lại Lưu trong file web.config Khi CSDL thay đổi, chỉ cần sửa lại chuỗi kết nối trong file web.config, không phải biên dịch lại Luôn lưu chuỗi trong file Web.config Làm quen với lập trình CSDL ASP.NET 29 <connectionStrings> <add name="HalloweenConnectionString" connectionString="Data Source=POLY_115_LINHKT; Initial Catalog=Halloween;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings> Chọn check box này. Chuỗi kết nối sẽ tự động lưu trong file Web.config
  • 30. Lấy dữ liệu lưu vào DataSource -Chỉ định tên bảng - Chọn các cột lấy dữ liệu -Sử dụng các nút để thêm các mệnh đề WHERE, ORDER BY cho câu lệnh SELECT Cấu hình câu lệnh SELECT Làm quen với lập trình CSDL ASP.NET 30 -Chỉ định tên bảng - Chọn các cột lấy dữ liệu -Sử dụng các nút để thêm các mệnh đề WHERE, ORDER BY cho câu lệnh SELECT -Câu lệnh SELECT được tạo ra
  • 31. Mã .aspx của điều khiển SqlDataSource tự sinh Mã aspx của điều khiển SqlDataSource <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:HalloweenConnectionString %>" SelectCommand="SELECT [CategoryID], [LongName] FROM [Categories] ORDER BY [LongName]"> </asp:SqlDataSource> Làm quen với lập trình CSDL ASP.NET 31 <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:HalloweenConnectionString %>" SelectCommand="SELECT [CategoryID], [LongName] FROM [Categories] ORDER BY [LongName]"> </asp:SqlDataSource>
  • 32. Các cách liên kết datasource với điều khiển list Sửa trực tiếp các thuộc tính buộc dữ liệu trong chế độ Source Sử dụng cửa sổ Properties của điều khiển để sửa các thuộc tính buộc dữ liệu Sử dụng Data Source Configuration Winzard Liên kết datasource với điều khiển list Các cách liên kết datasource với điều khiển list Sửa trực tiếp các thuộc tính buộc dữ liệu trong chế độ Source Sử dụng cửa sổ Properties của điều khiển để sửa các thuộc tính buộc dữ liệu Sử dụng Data Source Configuration Winzard Làm quen với lập trình CSDL ASP.NET 32 - Click vào đây để mở menu smart tag - Chọn Chose Data Source để mở Data Source Configuration Winzard
  • 33. Các thuộc tính sử dụng để liên kết dữ liệu Ví dụ đoạn mã aspx của điều khiển drop-down list liên kết tới datasource Liên kết datasource với điều khiển list Thuộc tính Mô tả DataSourceID ID của datasource DataTextField Tên trường dữ liệu của data source hiển thị trên danh sách DataValueField Giá trị trả về khi trường dữ liệu tương ứng (DataTextField) được chọn Các thuộc tính sử dụng để liên kết dữ liệu Ví dụ đoạn mã aspx của điều khiển drop-down list liên kết tới datasource Làm quen với lập trình CSDL ASP.NET 33 <asp:DropDownList ID="ddlCategory" runat="server" DataSourceID="SqlDataSource1" DataTextField="LongName" DataValueField="CategoryID" AutoPostBack="True"> </asp:DropDownList> Giá trị hiển thị trên List Costumes tương ứng với trường LongName của nguồn dữ liệu Giá trị trả về khi Cosumes được chọn là CategoryID tương ứng với LongName là Costumes
  • 34. Làm quen với lập trình CSDL ASP.NET 34
  • 35. Là điều khiển hỗ trợ buộc dữ liệu thuộc nhóm Data trên Toolbox Dùng để trình bày dữ liệu được truy xuất từ một datasource dưới dạng danh sách Hỗ trợ thao tác truy xuất, cập nhật, thêm, xóa CSDL Để định nghĩa các thông tin hiển thị trên một datalist, ta tạo ra các Template cho datalist. Điều khiển DataList HeaderTemplate Là điều khiển hỗ trợ buộc dữ liệu thuộc nhóm Data trên Toolbox Dùng để trình bày dữ liệu được truy xuất từ một datasource dưới dạng danh sách Hỗ trợ thao tác truy xuất, cập nhật, thêm, xóa CSDL Để định nghĩa các thông tin hiển thị trên một datalist, ta tạo ra các Template cho datalist. Làm quen với lập trình CSDL ASP.NET 35 Một ví dụ về DataList Dữ liệu được hiển thị dưới dạng bảng ItemTemplate
  • 36. Các loại template của điều khiển DataList Bạn có thể tạo nhiều template cho một DataList. Hai Template thường sử dụng là HeaderTemplate và ItemTemplate. Visual Studio cung cấp giao diện thiết kế để định nghĩa giao diện cho các Template. Template Template Mô tả HeaderTemplate Hiển thị tiêu đề cho datalist trước phần tử đầu tiên của datasource FooterTemplate Hiển thị sau phần tử cuối cùng của datasource ItemTemplate Hiển thị các phần tử của datasource AlternatingItemTemplate Hiển thị cho các phần tử luân phiên Các loại template của điều khiển DataList Bạn có thể tạo nhiều template cho một DataList. Hai Template thường sử dụng là HeaderTemplate và ItemTemplate. Visual Studio cung cấp giao diện thiết kế để định nghĩa giao diện cho các Template. Làm quen với lập trình CSDL ASP.NET 36 AlternatingItemTemplate Hiển thị cho các phần tử luân phiên SeparatorTemplate Hiển thị gữa các phần tử
  • 37. Cung cấp các chức năng để làm việc với DataList sử dụng giao diện thiết kế đồ họa. Các chức năng quan trọng Chose Data Source: Cấu hình datasource hoặc tạo một datasource mới cho DataList Configure Data Source: Cấu hình/Sửa cấu hình DataSource (cấu hình câu lệnh Select, Update…) Refresh schema: Làm mới schema CSDL. Sử dụng nếu Schema không hiển thị Edit Templates: Tạo và sửa Template cho DataList Smart Tag Menu Cung cấp các chức năng để làm việc với DataList sử dụng giao diện thiết kế đồ họa. Các chức năng quan trọng Chose Data Source: Cấu hình datasource hoặc tạo một datasource mới cho DataList Configure Data Source: Cấu hình/Sửa cấu hình DataSource (cấu hình câu lệnh Select, Update…) Refresh schema: Làm mới schema CSDL. Sử dụng nếu Schema không hiển thị Edit Templates: Tạo và sửa Template cho DataList Làm quen với lập trình CSDL ASP.NET 37
  • 38. Các bước làm việc với DataList Thêm điều khiển DataList vào WebForm Tạo và cấu hình DataSource cho DataList Thêm định nghĩa các Template cho DataList Buộc dữ liệu cho các điều khiển trên các Template Làm việc với DataList Các bước làm việc với DataList Thêm điều khiển DataList vào WebForm Tạo và cấu hình DataSource cho DataList Thêm định nghĩa các Template cho DataList Buộc dữ liệu cho các điều khiển trên các Template Làm quen với lập trình CSDL ASP.NET 38
  • 39. Thêm điều khiển DataList cho ứng dụng ProductList. DataList này hiển thị danh sách sản phẩm của danh mục sản phẩm được chọn. Nội dung demo Thêm điều khiển DataList Cấu hình DataSource cho DataList Cấu hình câu lệnh SELECT có chứa tham số Định nghĩa Template cho DataList Buộc dữ liệu cho các điều khiển trên ItemTemplate Demo Sử dụng DataList Thêm điều khiển DataList cho ứng dụng ProductList. DataList này hiển thị danh sách sản phẩm của danh mục sản phẩm được chọn. Nội dung demo Thêm điều khiển DataList Cấu hình DataSource cho DataList Cấu hình câu lệnh SELECT có chứa tham số Định nghĩa Template cho DataList Buộc dữ liệu cho các điều khiển trên ItemTemplate Làm quen với lập trình CSDL ASP.NET 39
  • 40. Demo Cấu hình DataSource cho DataList Câu lệnh SELECT chứa tham số Làm quen với lập trình CSDL ASP.NET 40 Kiểu phần tử định nghĩa tham số cho câu lệnh SELECT
  • 41. Mã aspx của điều khiển SqlDataSource với câu lệnh SELECT chứa tham số Demo Cấu hình DataSource cho DataList <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:HalloweenConnectionString %>" SelectCommand="SELECT [ProductID], [Name], [UnitPrice], [OnHand] FROM [Products] WHERE ([CategoryID] = @CategoryID) ORDER BY [ProductID]"> <SelectParameters> <asp:ControlParameter ControlID="ddlCategory" Name="CategoryID" PropertyName="SelectedValue" Type="String" /> </SelectParameters> </asp:SqlDataSource> Làm quen với lập trình CSDL ASP.NET 41 <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:HalloweenConnectionString %>" SelectCommand="SELECT [ProductID], [Name], [UnitPrice], [OnHand] FROM [Products] WHERE ([CategoryID] = @CategoryID) ORDER BY [ProductID]"> <SelectParameters> <asp:ControlParameter ControlID="ddlCategory" Name="CategoryID" PropertyName="SelectedValue" Type="String" /> </SelectParameters> </asp:SqlDataSource> Sinh viên tham khảo thêm các phần tử sử dụng để định nghĩa tham số cho câu lệnh SELECT trong SGK
  • 42. Nội dung demo: Định nghĩa HeaderTemplate cho DataList Định nghĩa ItemTemplate cho DataList Định dạng hiển thị cho DataList Demo Định nghĩa các template cho DataList Nội dung demo: Định nghĩa HeaderTemplate cho DataList Định nghĩa ItemTemplate cho DataList Định dạng hiển thị cho DataList Làm quen với lập trình CSDL ASP.NET 42 Chọn Edit Templates trong menu smart tag của điều khiển DataList để định nghĩa các template 1. Chọn loại Template cần định nghĩa. 2. Thêm các thành phần cho Template Có thể thêm: Bảng, text, label, các điều khiển vào template
  • 43. Đoạn mã aspx được tạo ra Demo Định nghĩa các template cho DataList <asp:DataList ID="dlProducts" runat="server" DataKeyField="ProductID" DataSourceID="SqlDataSource2" CellPadding="3" GridLines="Vertical"> <HeaderTemplate> <table> <tr> <td class="col1">ID</td> <td class="col2">Product</td> <td class="col3">Unit Price</td> <td class="col4">On Hand</td> </tr> </table> </HeaderTemplate> <%-- đoạn mã định nghĩa các template khác được viết ở dây--%> <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" /> </asp:DataList> Làm quen với lập trình CSDL ASP.NET 43 <asp:DataList ID="dlProducts" runat="server" DataKeyField="ProductID" DataSourceID="SqlDataSource2" CellPadding="3" GridLines="Vertical"> <HeaderTemplate> <table> <tr> <td class="col1">ID</td> <td class="col2">Product</td> <td class="col3">Unit Price</td> <td class="col4">On Hand</td> </tr> </table> </HeaderTemplate> <%-- đoạn mã định nghĩa các template khác được viết ở dây--%> <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" /> </asp:DataList>
  • 44. Các template hỗ trợ buộc dữ liệu ItemTemplate AlternatingItemTemplate Demo Buộc dữ liệu cho các điều khiển trong template Làm quen với lập trình CSDL ASP.NET 44 Hai phương thức sử dụng cho biểu thức mã: - Eval <%# Eval("UnitPrice", "{0:C}") %> Chỉ dùng để hiển thị dữ liệu - Bind <%# Bind("UnitPrice", "{0:C}") %> Dùng để hiển thị dữ liệu và cập nhật dữ liệu từ nguồn dữ liệu
  • 45. Sinh viên tìm hiểu các vấn đề sau: Tạo một datasource có thể cập nhật CSDL Sử dụng bộ đệm dữ liệu Sinh viên tìm hiểu các vấn đề sau: Tạo một datasource có thể cập nhật CSDL Sử dụng bộ đệm dữ liệu Làm quen với lập trình CSDL ASP.NET 45
  • 46. ADO.NET Ứng dụng ASP.NET sử dụng ADO.NET để thao tác với CSDL ADO.NET là một phần của .NET Framework, được xem là “bộ thư viện lớp” chịu trách nhiệm xử lý dữ liệu trong ngôn ngữ MS .NET. Các thành phần cơ bản của ADO.NET .NET data provider: cung cấp các lớp để tương tác với CSDL Dataset: Là bản sao của CSDL hay một phần CSDL trên bộ nhớ Kết nối giữa ứng dụng và cở sở dữ liệu (CSDL) thông qua ADO.NET theo hai kiến trúc Kiến trúc kết nối Kiến trúc không kết nối Tổng kết ADO.NET Ứng dụng ASP.NET sử dụng ADO.NET để thao tác với CSDL ADO.NET là một phần của .NET Framework, được xem là “bộ thư viện lớp” chịu trách nhiệm xử lý dữ liệu trong ngôn ngữ MS .NET. Các thành phần cơ bản của ADO.NET .NET data provider: cung cấp các lớp để tương tác với CSDL Dataset: Là bản sao của CSDL hay một phần CSDL trên bộ nhớ Kết nối giữa ứng dụng và cở sở dữ liệu (CSDL) thông qua ADO.NET theo hai kiến trúc Kiến trúc kết nối Kiến trúc không kết nối Làm quen với lập trình CSDL ASP.NET 46
  • 47. Điều khiển data source Điều khiển data source quản lý các tác vụ kết nối đến CSDL, đọc và ghi dữ liệu. Bản chất của việc sử dụng điều khiển datasource cũng là truy cập qua các đối tượng ADO.NET, nhưng sử dụng ít code hơn ADO.NET Điều khiển datasource được buộc vào một điều khiển dữ liệu để hiển thị dữ liệu cho người dùng. Hai loại điều khiển datasource thường dùng SQL DataSource ObjectDataSource (Hỗ trợ kiến trúc ba tầng) Tổng kết Điều khiển data source Điều khiển data source quản lý các tác vụ kết nối đến CSDL, đọc và ghi dữ liệu. Bản chất của việc sử dụng điều khiển datasource cũng là truy cập qua các đối tượng ADO.NET, nhưng sử dụng ít code hơn ADO.NET Điều khiển datasource được buộc vào một điều khiển dữ liệu để hiển thị dữ liệu cho người dùng. Hai loại điều khiển datasource thường dùng SQL DataSource ObjectDataSource (Hỗ trợ kiến trúc ba tầng) Làm quen với lập trình CSDL ASP.NET 47
  • 48. Điều khiển DataList Dùng để trình bày dữ liệu được truy xuất từ một datasource dưới dạng danh sách Hỗ trợ thao tác truy xuất, cập nhật, thêm, xóa CSDL Để định nghĩa các thông tin hiển thị trên một datalist, ta tạo ra các Template cho datalist. Tổng kết Điều khiển DataList Dùng để trình bày dữ liệu được truy xuất từ một datasource dưới dạng danh sách Hỗ trợ thao tác truy xuất, cập nhật, thêm, xóa CSDL Để định nghĩa các thông tin hiển thị trên một datalist, ta tạo ra các Template cho datalist. Làm quen với lập trình CSDL ASP.NET 48