con=new SqlConnection(\Security Info=False; Integrated Security=SSPI; database= Northwind; server=.\\SQLEXPRESS\
con.Open();
SqlDataAdapter adapter;
adapter = new SqlDataAdapter(\CustomerID, CompanyName FROM Customers\con);
DataSet customers = new DataSet(); adapter.Fill(customers, \
使用DataAdapter的Fill方法填充DataSet中的DataTable后,以断开式操作DataSet的数据库表,包括数据的查询、插入、更新和删除等操作。
在插入、更新或删除DataRow对象后,因为操作是针对保存在内存的DataSet对象,最后还需要更新数据源的记录数据。
DataSet、DataTable、DataRow对象将数据库、数据表和记录转换成对象结构,DataSet数据库包含DataTableCollection集合对象,集合对象中的每一个DataTable是一个数据表,包含DataRowCollection集合对象,每一个DataRow是一条记录。
调用DataAdapter的Update方法,可将DataSet中的更改解析回数据源。
当调用Update方法时,DataAdapter将分析已作出的更改并执行相应的命令(INSERT、UPDATE或DELETE)。
可以通过在设计时指定命令语法(使用SQL命令或存储过程)。 DataSet对象插入新记录操作是针对DataTable对象,所谓插入记录就是新增加DataRow对象,如:
DataRow objDataRow;
objDataRow=objDataSet.Tables[“users”].NewRow();
以上代码使用NewRow()方法新增加了一行,接着可以输入字段值,如: ObjDataRow[“name”]=tbname.Text; ??
最后将DataRow对象添加到DataTable对象,如:
objDataSet.Tables(“users”).Rows.Add(ObjDataRow); DataSet对象的更新记录操作,因为有更新条件,所以需要使用循环查找欲更新记录后,才能更新记录数据,如:
foreach(DataRow objDataRow in objDataSet.Tables[“users”].Rows) {
if(objDataRow[“UserName”]==tbusername.text) {
objDataRow[“Password”]=tbpswd.text; ojbDataRow[“Email”]=tbemail.text; } }
DataSet对象的删除记录操作,也因为有删除条件,所以需要使用循环查找欲删除记录后,用Delete()方法删除,如:
foreach(DataRow objDataRow in objDataSet.Tables[“users”].Rows) {
if(objDataRow[“UserName”]==tbusername.text) ojbDataRow.Delete();
}
数据表的记录数据填入DataSet对象后,就可以用for each循环从DataRowCollection集合对象取出每一个DataRow对象,如:
foreach(DataRow objRow in objDataSet.Tables[“users”].Rows) { Response.Write(“”);
Response.Write(“” + objRow[“name”] + “”); Response.Write(“” + objRow[“password”] + “”); Response.write “”); }
实例演示结合课堂练习讲解查询、增、删、改的实现。
6、简单介绍5种数据源控件
7、简单介绍数据源控件和数据控件的功能。。 8、数据源控件的配置
ProviderName属性设置为数据库类型(默认为 System.Data.SqlClient)
ConnectionString属性设置为连接字符串,该字符串包含连接至数据库所需的信息。 连接字符串的内容根据数据源控件访问的数据库类型的不同而有所不同。
可为SqlDataSource命令指定四个SQL命令:SelectCommand、UpdateCommand、DeleteCommand和InsertCommand。
对于每个命令属性而言,可以为SQL 语句,也可以在 SQL 语句的位置指定存储过程的名称。
通过设置数据源控件的DataSourceMode属性,可以指定要返回的格式: DataSet或DataReader
每个命令属性都有自己的参数集,可以使用声明的方式指定命令使用的参数。ASP.NET 2.0支持的参数类型包括:
ControlParameter:从一个服务器控件的任何公共属性获得该参数值。 CookieParameter:根据指定的HTTP cookie的内容设置参数值。 FormParameter:从HTTP请求窗体的指定输入字段中获取该参数值。 Parameter:获取由代码分配的参数值。
ProfileParameter:从根据应用程序的个性化机制创建的配置文件对象中的指定属性获取该参数值。
QueryStringParameter:从请求查询字符串中的指定变量获取该参数值。 SessionParameter:根据指定的会话状态的内容设置该参数值。 实例演示数据库的连接。 9、数据绑定的概念和方法:
数据绑定是将数据链接到显示该数据的控件的过程
用于绑定控件的表达式置于 <%#......%> 标记之间,数据绑定的方式有四种:
(1)属性绑定:ASP.Net的数据绑定可以绑定到公共的变量、页面的属性乃至其他服务器端控件的属性上。但是应该注意的是,这些属性、公用变量一定要在使用DataBind()方法以前初始化,否则可能导致不可预知的错误。
(2)集合绑定:作为数据源的还可以是集合对象,在asp.net中只要是支持Icollection接口的集合对象都可以作为列表服务器端控件。最常见的,我们使用数组(ArrayList)、哈希表(HashTable)、数据视图(DataView)、数据读写器(DataReader)等集合作为列表服务器端控件的数据源。
(3)表达式绑定:除了使用固定的数据作为数据绑定的数据源以外,asp.net还提供了具有动态表达功能的表达式数据绑定,由于它是根据数据项和常数计算而来,因而提供的数据更加灵活、方便。
(4)方法绑定:利用databinder.eval方法把指定的数据或者是表达式转换成所期望出现的数据类型。DataBinder.Eval含有三个参数,第一个是数据项的容器,对于常用的DataList、DataGrid、Reapter等控件,通常使用Container.DataItem;第二个参数是数据项名;第三个参数是要转换成的数据类型,如果省略就认为是返回该数据项的类型。使用方法绑定的目的通常都是和模板定义相结合产生一些特殊的效果。 实例演示讲解数据绑定的方法。
10、GridView控件的作用、设置方式和外观设置 实例演示讲解
使用GridView显示来往公司信息列表 1、将GridView控件拖入页面。 2、添加并指定数据源。
3、编辑列,选择需要显示的字段,并可设置表头等。 4、设置分页。
5、运行,查看效果。 可以设置的字段: BoundField字段
表示数据绑定控件中作为文本显示的字段。 可设置表头、样式等信息。
DataFormatString,可设置显示字段的格式。 TemplateField字段
绑定中显示自定义内容的字段
有五种模板(标头、脚注、普通项、交替项、编辑模式) Eval 方法是只读方法
该方法采用数据字段的值作为参数并将其作为字符串返回。 当对表达式操作时候,必须用Eval 如 格式化
Bind 方法支持读/ 写功能
可以检索数据绑定控件的值并将任何更改提交回数据库。 ButtonField字段
显示为数据绑定控件中的按钮
CommandName设置自定义命令(如:RowCommand) CommandField
一个特殊字段,显示了用于在数据绑定控件中执行选择、编辑、插入或删除操作的命令按钮
自动生成命令,无须手写 对应数据源的增改查删方法 HyperLinkField
显示为超链接的字段 比如链接到详细页面 ImageField字段 为图像的字段
绑定到包含图像 URL 的数据源中的字段 指定DataImageUrlField CheckBoxField字段
以复选框显示的布尔型字段
仅当数据源字段中有布尔型字段时使用此字段
GridView控件可以通过关联的数据源自动完成更新和删除功能。例如,SqlDataSource控件在其UpdateCommand和DeleteCommand属性分别设置为有效的更新或删除命令。
在GridView控件中,将AutoGenerateEditButton和AutoGenerateDeleteButton属性设置为True,可以启用其更新和删除功能。
11、结合实例讲解用于显示详细信息的DetailsView控件。
DetailsView用于一次从其关联的数据源呈现一条记录,同时可选择显示分页按钮,以在记录之间进行导航。
DetailsView与Access数据库的窗体视图类似,通常用于更新已有的记录、插入新记录。 该控件通常在主/详细信息方案中使用:主控件一般为GridView,明细记录则借助DetailsView控件来显示
实例演示两个控件实现主/从信息查询编辑页。 12、结合实例讲解DataList控件的使用。
用于在重复的列表中显示数据项,并且支持对这些项进行选择和编辑。
DataList中列表项的内容和布局是使用模板定义的,可以为项、交替项、选定项和编辑项创建模板;也可以使用标题、脚注和分隔符模板自定义DataList的整体外观
DataList包括下列模板:
ItemTemplate:定义列表中各项的内容和布局(必选定义)。
AlternatingItemTemplate:定义交替项的内容和布局。如果未定义,则使用ItemTemplate。
SeparatorTemplate:定义呈现在项之间的分隔符。如果未定义,则不呈现分隔符。 SelectedItemTemplate:定义选定项的内容和布局。如果未定义,则使用ItemTemplate(AlternatingItemTemplate)。
EditItemTemplate:定义编辑项的内容和布局。如果未定义,则使用ItemTemplate(AlternatingItemTemplate或SelectedItemTemplate)。
HeaderTemplate:定义列表标题的内容和布局。如果未定义,则不呈现标题。 FooterTemplate:定义列表页脚的内容和布局。如果未定义,则不呈现页脚。 DataList的样式属性:
ItemStyle:列表中各项的样式。 AlternatingItemStyle:交替项的样式。
SeparatorStyle:分隔标记的样式符。 SelectedItemStyle:选定项的样式 EditItemStyle:编辑项的样式 HeaderStyle:列表标题的样式 FooterStyle:列表页脚的样式 DataList的与Select相关属性:
SelectedIndex 获取或设置 DataList 控件中的选定项的索引。 SelectedItem 获取 DataList 控件中的选定项。
SelectedItemStyle 获取 DataList 控件中选定项的样式属性。 SelectedItemTemplate 获取或设置 DataList 控件中选定项的模板。 SelectedValue 获取所选择的数据列表项的键字段的值。 DataList的与edit相关的属性:
EditItemIndex 获取或设置 DataList 控件中要编辑的选定项的索引号。 EditItemStyle 获取 DataList 控件中为进行编辑而选定的项的样式属性。 EditItemTemplate 获取或设置 DataList 控件中为进行编辑而选定的项的模板。 DataList的Repeat属性: RepeatColumns:表格分几列显示。
RepeatDirection:显示方式是水平还是垂直。 RepeatLayout:显示方式的版面配置是表格还是直线。 事件:
提供ItemCommand、EditCommand、UpdateCommand、DeleteCommand和CancelCommand等事件。
当在DataList控件的ItemTemplate标记中单击LinkButton控件,就可以产生ItemCommand事件,LinkButton控件使用CommandName属性设置传递的命令名称:如下所示:
?
当产生ItemCommand事件后,就执行如下代码: Sub DataList_ItemCommand(?) if e.commandname=“select” then ?? end if ?? End Sub
13、结合实例讲解Repeater控件的使用。