Tải bản đầy đủ (.ppt) (52 trang)

ADO.NET - II ppsx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (739.42 KB, 52 trang )

Chương 7
ADO.NET - II
Mục tiêu

Hiểu kết buộc dữ liệu

Repeater control

DataList control

Cập nhật dữ liệu qua form

Làm việc với dữ liệu XML
Data Binding (kết buộc dữ liệu)

Kết buộc dữ liệu là tiến trình liên kết dữ liệu lấy được
vào điều khiển để hiển thị

Dữ liệu có thể kết buộc đến tất cả các điều khiển dùng
biểu thức kết buộc dữ liệu được đặt giữa thể <%#
%>

Dữ liệu được kết buộc đến điều khiển bất cứ lúc nào
phương thức DataBind() được gọi

Kết buộc dữ liệu có thể thực hiện trên các kiểu dữ liệu
khác nhau như:

Các thuộc tính

Collections



Biểu thức

Kết quả của lời gọi hàm
Thuộc tính
ASP.NET cho phép các nhà phát triển kết buộc dữ liệu đến các biến public, thuộc
tính của trang hay thậm chí thuộc tính của các điều khiển khác
<html>
<title>DataBinding </title>
<script language="C#" runat="server">
void Page_Load(Object sender, EventArgs e)
{
Page.DataBind();
}
</script>
<form runat=server>
<center><b><u> DataBinding</center></b></u><br>
Enter a string and press tab
<br><br>
Thuộc tính
<asp:textbox id = "txtControl" AutoPostback="true" runat=
"server" /><br> <br>
<asp:label id = "lblControl" text = <
%#txtControl.Text%> runat = "server" /><br><br>
</form>
</html>
Biểu thức và phương thức
<%@ Import Namespace="System.Data" %>
<html>
<title>DataBinding Expressions</title>

<script language="C#" runat="server">
void Page_Load(Object Sender, EventArgs E)
{
Response.Write("<center><b><u>DataBinding
Expressions</center></b></u><br>");
if(!IsPostBack)
{
DataTable mydt = new DataTable();
DataRow mydr;
mydt.Columns.Add(new DataColumn ("Numbers",
typeof(Int32)));
Biểu thức và phương thức
for (int i=0;i<=5;i++)
{
mydr = mydt.NewRow();
mydr[0] = i;
mydt.Rows.Add(mydr);
}
dlMyList.DataSource = mydt;
dlMyList.DataBind();
}
}
int Square(int num)
{
int ans = num* num;
return ans;
}
Biểu thức và phương thức
int Cube(int num)
{

int ans = num*num*num;
return ans;
}
</script>
<form runat=server>
<asp:DataList id = "dlMyList" runat = "server">
<ItemTemplate>
Number : <%# ((DataRowView)Container.DataItem)
["Numbers"] %>
Square : <%# Square ((int) ((DataRowView)
Container.DataItem) ["Numbers"]) %>
Cube : <%# Cube ((int) ((DataRowView)
Container.DataItem) ["Numbers"]) %>
Biểu thức và phương thức
</ItemTemplate>
</asp:DataList>
</form>
</html>
Phương thức DataBinder.Eval()
<%# DataBinder.Eval(Container.DataItem,"max_lvl","{0:c}") %>
Tên chứa mục dữ liệu
Tên trường
Định dạng chuỗi
A
r
g
u
m
e
n

t
s
Phương thức này dùng để đánh giá biểu thức kết buộc dữ liệu ở thời
gian thực thi và định dạng kết xuất được hiển thị trên trình duyệt.
Example:
Repeater
T
e
m
p
l
a
t
e
s
ItemTemplate
AlternatingItemTemplate
HeaderTemplate
FooterTemplate
SeparatorTemplate
Là một container control, dùng để hiển thị danh sách các dữ liệu theo một
mẫu định dạng nào đó cho từng mục dữ liệu.
Mẫu định dạng (template) là một tập các phần tử HTML hay các điều khiển
dùng để định dạng hiển thị của điều khiển
Repeater Ví dụ
<%@ Import Namespace="System.Data" %>
<html>
<title>Repeater Control</title>
<head>
<script language="C#" runat="server">

void Page_Load(Object Sender, EventArgs e)
{
Response.Write("<center><b><u>Repeater</center>
</b></u><br>");
if (!IsPostBack)
{
DataTable mydt = new DataTable();
DataRow mydr;
mydt.Columns.Add(new DataColumn ("Numbers",
typeof(Int32)));
Repeater Ví dụ
mydt.Columns.Add(new DataColumn ("Squares",
typeof(Int32)));
mydt.Columns.Add(new DataColumn ("Cubes",
typeof(Int32)));
for (int i=0;i<=2;i++)
{
mydr = mydt.NewRow();
mydr[0] = i;
mydr[1] = i*i;
mydr[2] = i*i*i;
mydt.Rows.Add(mydr);
}
Repeater1.DataSource = mydt;
Repeater1.DataBind();
Repeater2.DataSource = mydt;
Repeater2.DataBind();
Repeater Ví dụ
}
}

</script>
</head>
<body>
<form runat=server>
<b>Repeater1:</b>
<p>
<asp:Repeater id=Repeater1 runat="server">
<HeaderTemplate>
<table border=1>
<tr>
<td><b>Number</b></td>
<td><b>Square</b></td>
<td><b>Cube</b></td>
</tr>
Repeater Ví dụ
</HeaderTemplate>
<ItemTemplate>
<tr>
<td> <%# DataBinder.Eval (Container.DataItem,
"Numbers") %> </td>
<td> <%# DataBinder.Eval (Container.DataItem,
"Squares") %> </td>
<td> <%# DataBinder.Eval(Container.DataItem, "Cubes")
%> </td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>

<p>
Repeater Ví dụ
<b>Repeater2:</b>
<p>
<asp:Repeater id=Repeater2 runat="server">
<HeaderTemplate>
Number (Square) [Cube] :
</HeaderTemplate>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Numbers")
%>
(<%# DataBinder.Eval(Container.DataItem,
"Squares") %>)
[<%# DataBinder.Eval(Container.DataItem, "Cubes")
%>]
</ItemTemplate>
<SeparatorTemplate>, </SeparatorTemplate>
</asp:Repeater>
Repeater Output
</form>
</body>
</html>
DataList
T
e
m
p
l
a
t

e
s
ItemTemplate
AlternatingItemTemplate
SelectedItemTemplate
EditItemTemplate
HeaderTemplate
FooterTemplate
SeparatorTemplate
Cho phép người dùng chỉ ra luồng dữ liệu
DataList – Ví dụ
<%@ Import Namespace="System.Data" %>
<html>
<title>DataList Control</title>
<head>
<script language="C#" runat="server">
void Page_Load(Object Sender, EventArgs e)
{
Response.Write("<center><b><u>Data List with
Alternating Columns</center></b></u><br>");
if (!IsPostBack)
{
DataTable mydt = new DataTable();
DataRow mydr;
mydt.Columns.Add(new DataColumn ("Numbers",
typeof(Int32)));
DataList Ví dụ
mydt.Columns.Add(new DataColumn("Squares",
typeof(Int32)));
mydt.Columns.Add(new DataColumn("Cubes",typeof(Int32)));

for (int i=0;i<30;i++)
{
mydr = mydt.NewRow();
mydr[0] = i;
mydr[1] = i*i;
mydr[2] = i*i*i;
mydt.Rows.Add(mydr);
}
dlMyList.DataSource = mydt;
dlMyList.DataBind();
}
}
</script>
DataList Ví dụ
</head>
<body>
<form runat=server>
<asp:DataList id="dlMyList" RepeatDirection="Horizontal"
RepeatColumns="10" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Numbers") %><br>
<%# DataBinder.Eval(Container.DataItem, "Squares") %><br>
<%# DataBinder.Eval(Container.DataItem, "Cubes") %><br>
</ItemTemplate>
<AlternatingItemTemplate>
<i><b><%# DataBinder.Eval(Container.DataItem, "Numbers")
%></b> <i><br>
<i><b><%# DataBinder.Eval(Container.DataItem, "Squares")
%><b><i><br>
<i><b><%# DataBinder.Eval(Container.DataItem, "Cubes")

%><b><i><br>
DataList Kết xuất
</AlternatingItemTemplate>
</asp:DataList>
</form>
</body>
</html>
Quản lý dữ liệu trong ASP.NET
DATA
DATA
Insert
Insert
Select
Select
Delete
Delete
Update
Update
Chèn dữ liệu
chèn d li u :Để ữ ệ
SqlCom.Parameters.Add(new SqlParameter("@pubid",
SqlDbType.SmallInt, 2));
1. Nối kết CSDL
2. Tạo lệnh chèn trong CSDL
Tạo một tham số
Thiết lập nối kết CSDL
Chèn dữ liệu qua đối tượng command
mySqlCon = new SqlConnection ("server=SQLDB; uid= sa; pwd
=password; database=pubs");
string myinsertCmd = "insert into publishers ( pub_id,

pub_name, city, state, country ) values (@pubid, @pubname,
@city, @state, @country)";
SqlCommand mySqlCom = new SqlCommand(myinsertCmd,
mySqlCon);
Chèn dữ liệu
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<title>Inserting Data in a Database</title>
<script language="C#" runat="server" Debug="true">
SqlConnection mySqlCon;
protected void Page_Load(Object Src, EventArgs e)
{
mySqlCon = new SqlConnection("server=SQLDB;uid
=sa;pwd=
password; database=pubs");
if(!IsPostBack)
BindGrid();
}

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×