SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

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 winformMasterCode.vn
 
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as CodeAWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as CodeAmazon Web Services
 
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTBÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTMasterCode.vn
 
Cloudwatch: Monitoring your Services with Metrics and Alarms
Cloudwatch: Monitoring your Services with Metrics and AlarmsCloudwatch: Monitoring your Services with Metrics and Alarms
Cloudwatch: Monitoring your Services with Metrics and AlarmsFelipe
 
Netflix security monkey overview
Netflix security monkey overviewNetflix security monkey overview
Netflix security monkey overviewRyan Hodgin
 
AWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar SeriesAWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar SeriesAmazon Web Services
 
MongoDB Introduction
MongoDB IntroductionMongoDB Introduction
MongoDB Introductionthanh can
 
AWS CloudFormation Session
AWS CloudFormation SessionAWS CloudFormation Session
AWS CloudFormation SessionKamal Maiti
 
Bài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệuBài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệutrieulongweb
 
Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...
Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...
Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...MasterCode.vn
 
Bai giang atbmtt
Bai giang atbmtt Bai giang atbmtt
Bai giang atbmtt Hà Vũ
 
AWS Builders - Industry Edition: AWS가 추천하는 'App개발 및 데이터 관리, 분석 소프트웨어 서비스'_Tma...
AWS Builders - Industry Edition: AWS가 추천하는 'App개발 및 데이터 관리, 분석 소프트웨어 서비스'_Tma...AWS Builders - Industry Edition: AWS가 추천하는 'App개발 및 데이터 관리, 분석 소프트웨어 서비스'_Tma...
AWS Builders - Industry Edition: AWS가 추천하는 'App개발 및 데이터 관리, 분석 소프트웨어 서비스'_Tma...Amazon Web Services Korea
 
Cập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vbCập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vbANHMATTROI
 
AWS Cloud Formation
AWS Cloud Formation AWS Cloud Formation
AWS Cloud Formation Adam Book
 
Slide thuyet trinh android
Slide thuyet trinh androidSlide thuyet trinh android
Slide thuyet trinh androidkuto92love
 
lý thuyết cơ sở dữ liệu phân tán
lý thuyết cơ sở dữ liệu phân tánlý thuyết cơ sở dữ liệu phân tán
lý thuyết cơ sở dữ liệu phân tánNgo Trung
 
Tìm hiểu về mongodb
Tìm hiểu về mongodbTìm hiểu về mongodb
Tìm hiểu về mongodbvuphong93
 

La actualidad más candente (20)

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
 
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as CodeAWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
 
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTBÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
 
Cloudwatch: Monitoring your Services with Metrics and Alarms
Cloudwatch: Monitoring your Services with Metrics and AlarmsCloudwatch: Monitoring your Services with Metrics and Alarms
Cloudwatch: Monitoring your Services with Metrics and Alarms
 
Netflix security monkey overview
Netflix security monkey overviewNetflix security monkey overview
Netflix security monkey overview
 
Cloud Formation
Cloud FormationCloud Formation
Cloud Formation
 
AWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar SeriesAWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar Series
 
MongoDB Introduction
MongoDB IntroductionMongoDB Introduction
MongoDB Introduction
 
AWS CloudFormation Session
AWS CloudFormation SessionAWS CloudFormation Session
AWS CloudFormation Session
 
SSAS Tabular model importance and uses
SSAS  Tabular model importance and usesSSAS  Tabular model importance and uses
SSAS Tabular model importance and uses
 
Bài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệuBài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệu
 
Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...
Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...
Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...
 
Bai giang atbmtt
Bai giang atbmtt Bai giang atbmtt
Bai giang atbmtt
 
Deep Dive on AWS CloudFormation
Deep Dive on AWS CloudFormationDeep Dive on AWS CloudFormation
Deep Dive on AWS CloudFormation
 
AWS Builders - Industry Edition: AWS가 추천하는 'App개발 및 데이터 관리, 분석 소프트웨어 서비스'_Tma...
AWS Builders - Industry Edition: AWS가 추천하는 'App개발 및 데이터 관리, 분석 소프트웨어 서비스'_Tma...AWS Builders - Industry Edition: AWS가 추천하는 'App개발 및 데이터 관리, 분석 소프트웨어 서비스'_Tma...
AWS Builders - Industry Edition: AWS가 추천하는 'App개발 및 데이터 관리, 분석 소프트웨어 서비스'_Tma...
 
Cập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vbCập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vb
 
AWS Cloud Formation
AWS Cloud Formation AWS Cloud Formation
AWS Cloud Formation
 
Slide thuyet trinh android
Slide thuyet trinh androidSlide thuyet trinh android
Slide thuyet trinh android
 
lý thuyết cơ sở dữ liệu phân tán
lý thuyết cơ sở dữ liệu phân tánlý thuyết cơ sở dữ liệu phân tán
lý thuyết cơ sở dữ liệu phân tán
 
Tìm hiểu về mongodb
Tìm hiểu về mongodbTìm hiểu về mongodb
Tìm hiểu về mongodb
 

Similar a 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 csdltruong 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-phpapp01huynhtrong774129
 
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
 
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 nayledoanduc
 
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
 
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 a 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#
 

Más de 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.vnMasterCode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnMasterCode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.vn
 

Más de 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