Version 3.0
ADO.NET - II
第七章
2
回顾
? ADO.NET 拥有两个核心组件
– DataSet
–,NET 数据提供程序
? DataSet对象
? DataGrid 控件可用于查看记录
? DataView
? DataReader
3
目标
? 了解数据绑定
? 实现 Repeater 控件
? 实现 DataList 控件
? 通过表单操作数据库
4
数据绑定
可绑定的数据类型:
简单属性
集合
表达式
方法调用的结果
5
简单属性
? 简单属性
Customer:<%# custID %>
实例
6
集合
? 集合
Orders:<asp:ListBox id="List1" datasource='<%#
myArray %>' runat="server">
实例
7
表达式
? 表达式
Contact:<%# ( customer.First
Name + " " +
customer.LastName ) %>
实例
8
方法结果
? 方法结果
Outstanding Balance:<%# GetBalance(custID) %>
实例
9
DataBinder.Eval( ) 方法
数据项的命名容器
数据字段名
格式字符串
<%# DataBinder.Eval(Container.DataItem,"max_lvl","{0:c}") %>
参
数
10
DataBinder.Eval( ) 方法演示
11
模板概念 2-1
? 控制控件样式和外观的方法
– 设置属性
– 使用样式
– 模板
? 模板是一组 HTML 元素和控件,它们构成组
件特定部分的布局
12
模板概念 2-2
? 并非所有 Web 服务器控件都支持模板
? 复杂的控件支持模板
– DataGrid
– DataList
– Repeater
? 每一控件支持的一组模板略有不同,这些模
板指定控件的不同部分的布局,例如标题、
脚注、项和所选项
13
Repeater
模
板
ItemTemplate
AlternatingItemTemplate
HeaderTemplate
FooterTemplate
SeparatorTemplate
14
Repeater - 示例
15
DataList
模
板
ItemTemplate
AlternatingItemTemplate
SelectedItemTemplate
EditItemTemplate
HeaderTemplate
FooterTemplate
SeparatorTemplate
16
DataList - 示例
17
ASP.NET 中的数据处理
数据
插入
选择删除
更新
18
插入数据
要插入数据,请执行下列步骤:
SqlCom.Parameters.Add(new SqlParameter("@Id",
SqlDbType.SmallInt,2));
SqlCom.Parameters["@Id"].Value = job_id.Text;
String insertCmd = "insert into jobs (job_id,job_desc,
min_lvl,max_lvl) values (@Id,@desc,@min,@max)";
SqlCommand SqlCom = new SqlCommand(insertCmd,SqlCon);
1,连接到数据库
2,创建命令以插入到数据库
创建参数
设置参数值
通过命令对象插入数据
19
插入数据 -示例
20
更新数据 2-1
<ASP:DataGrid id="dg" runat="server"
OnEditCommand="dg_Edit"
OnCancelCommand="dg_Cancel"
OnUpdateCommand="dg_Update"
DataKeyField="userid">
<Columns>
<asp:EditCommandColumn EditText="编辑 "
CancelText="取消 " UpdateText="更新 " />
</Columns>
</ASP:DataGrid>
21
更新数据 2-2
SqlCom.Parameters["@userid"].Value=dg.DataKeys[(int)e.Item
.ItemIndex];
检索所要更新的行的主键
SqlCom.Parameters["@fname"].Value=((TextBox)e.Item.Cells[2].
Controls[0]).Text;
为参数赋予已修改的行值
22
更新数据 -示例
23
删除数据
<ASP:DataGrid id="dg" runat="server"
DataKeyField="job_id"
OnDeleteCommand="dg_Delete" >
<Columns>
<asp:ButtonColumn Text=“删除员工 "
CommandName="Delete"/>
</Columns>
24
删除数据 -示例
25
总结
? 数据绑定
? Repeater 控件
? DataList 控件
? 通过表单操作数据库
– 添加
– 修改
– 删除
– 更新
ADO.NET - II
第七章
2
回顾
? ADO.NET 拥有两个核心组件
– DataSet
–,NET 数据提供程序
? DataSet对象
? DataGrid 控件可用于查看记录
? DataView
? DataReader
3
目标
? 了解数据绑定
? 实现 Repeater 控件
? 实现 DataList 控件
? 通过表单操作数据库
4
数据绑定
可绑定的数据类型:
简单属性
集合
表达式
方法调用的结果
5
简单属性
? 简单属性
Customer:<%# custID %>
实例
6
集合
? 集合
Orders:<asp:ListBox id="List1" datasource='<%#
myArray %>' runat="server">
实例
7
表达式
? 表达式
Contact:<%# ( customer.First
Name + " " +
customer.LastName ) %>
实例
8
方法结果
? 方法结果
Outstanding Balance:<%# GetBalance(custID) %>
实例
9
DataBinder.Eval( ) 方法
数据项的命名容器
数据字段名
格式字符串
<%# DataBinder.Eval(Container.DataItem,"max_lvl","{0:c}") %>
参
数
10
DataBinder.Eval( ) 方法演示
11
模板概念 2-1
? 控制控件样式和外观的方法
– 设置属性
– 使用样式
– 模板
? 模板是一组 HTML 元素和控件,它们构成组
件特定部分的布局
12
模板概念 2-2
? 并非所有 Web 服务器控件都支持模板
? 复杂的控件支持模板
– DataGrid
– DataList
– Repeater
? 每一控件支持的一组模板略有不同,这些模
板指定控件的不同部分的布局,例如标题、
脚注、项和所选项
13
Repeater
模
板
ItemTemplate
AlternatingItemTemplate
HeaderTemplate
FooterTemplate
SeparatorTemplate
14
Repeater - 示例
15
DataList
模
板
ItemTemplate
AlternatingItemTemplate
SelectedItemTemplate
EditItemTemplate
HeaderTemplate
FooterTemplate
SeparatorTemplate
16
DataList - 示例
17
ASP.NET 中的数据处理
数据
插入
选择删除
更新
18
插入数据
要插入数据,请执行下列步骤:
SqlCom.Parameters.Add(new SqlParameter("@Id",
SqlDbType.SmallInt,2));
SqlCom.Parameters["@Id"].Value = job_id.Text;
String insertCmd = "insert into jobs (job_id,job_desc,
min_lvl,max_lvl) values (@Id,@desc,@min,@max)";
SqlCommand SqlCom = new SqlCommand(insertCmd,SqlCon);
1,连接到数据库
2,创建命令以插入到数据库
创建参数
设置参数值
通过命令对象插入数据
19
插入数据 -示例
20
更新数据 2-1
<ASP:DataGrid id="dg" runat="server"
OnEditCommand="dg_Edit"
OnCancelCommand="dg_Cancel"
OnUpdateCommand="dg_Update"
DataKeyField="userid">
<Columns>
<asp:EditCommandColumn EditText="编辑 "
CancelText="取消 " UpdateText="更新 " />
</Columns>
</ASP:DataGrid>
21
更新数据 2-2
SqlCom.Parameters["@userid"].Value=dg.DataKeys[(int)e.Item
.ItemIndex];
检索所要更新的行的主键
SqlCom.Parameters["@fname"].Value=((TextBox)e.Item.Cells[2].
Controls[0]).Text;
为参数赋予已修改的行值
22
更新数据 -示例
23
删除数据
<ASP:DataGrid id="dg" runat="server"
DataKeyField="job_id"
OnDeleteCommand="dg_Delete" >
<Columns>
<asp:ButtonColumn Text=“删除员工 "
CommandName="Delete"/>
</Columns>
24
删除数据 -示例
25
总结
? 数据绑定
? Repeater 控件
? DataList 控件
? 通过表单操作数据库
– 添加
– 修改
– 删除
– 更新