推荐:ASP.NET立即上手教程(10)在SQL数据库中更新数据在web应用程序中更新数据库常常是一件棘手的事情。DataGrid控件提供了一些内建的支持,使得更新数据库变得容易。要想编辑行记录,DataGrid支持一个整数类型的EditItemI
访问基于XML的数据
在本章的开始曾经提到,DataSet被设计为不依赖于实际的数据源而抽象数据。你可以通过将实例中的数据从SQL改为XML明白这一点。DataSet支持ReadXml方法,它使用FileStream对象作为它的参数。这种情况下你读取的文件必须包含(XML)计划和要读取的数据。DataSet期望在form中使用的数据,如下面所示:
以下为引用的内容: <DocumentElement> <TableName> <ColumnName1>column value</ColumnName1> <ColumnName2>column value</ColumnName2> <ColumnName3>column value</ColumnName3> <ColumnName4>column value</ColumnName4> </TableName> <TableName> <ColumnName1>column value</ColumnName1> <ColumnName2>column value</ColumnName2> <ColumnName3>column value</ColumnName3> <ColumnName4>column value</ColumnName4> </TableName> </DocumentElement> |
每个TableName段对应表中的一行/一条记录。下面的例子使用DataSet的ReadXml方法从XML文件读取计划和数据。注意:当数据读入DataSet后,使用起来就与SQL数据没有区别--- DataGrid就像绑定SQL数据一样绑定它,就象下面的例子:
也可以使用DataSet的ReadXmlData和ReadXmlSchema方法分别读取计划和数据,就象下面的例子。
DataSet除了支持读取XML数据的方法外,也支持写入XML数据。下面的例子实现了一个工具,用来查询SQL数据,将结果写为XML数据或者计划文本。
本章小结
通用语言运行时刻(CLR)管理数据访问的应用程序接口以一种一致的方式来提取和表示数据,而不依赖于实际的数据源,如SQL Server、OLEDB、XML等等。
为了让ASP.NET页面能够访问SQL数据库,必须在页面中引入System.Data和System.Data.SqlClient名称空间。如果访问OLEDB数据库,需要引入System.Data和System.Data.OleDb名称空间。
从SQL查询组装数据集(dataset),包括建立连接(SqlConnection),关联包含查询语句的SqlDataAdapter对象,然后用SqlDataAdapter的fill方法填充数据集(dataset)几个步骤。
DataGrid控件支持DataSource属性,该属性使用Ienumerable或Icollection类型。你可以通过给DataSet的 DefaultView属性(类型为DataView)赋值,将这些类型设置为SQL查询的结果。
SqlDataAdapter包含参数集合,可以将值替换为变量标志符 (名字前加一个"@")。
当执行不返回结果的SQL命令,例如插入、更新和删除,可以用SqlCommand代替SqlDataAdapter。通过调用ExecuteNonQuery(返回起作用的记录的数)方法来执行命令。
使用SqlCommand的时候,必须明确的打开SqlConnection(SqlDataAdapter自动处理打开连接)。页面执行完毕之前,记得一定要关闭SqlConnection。否则,会在垃圾回收功能处理页面实例的时候,不知不觉耗尽连接限制。
为了允许记录被编辑,DataGrid支持一个整数类型的EditItemIndex属性,它可以指出表格中的哪一行被编辑。设置了该属性之后,DataGrid将该行内容用输入框(即可以编辑)来代替文本标签显示。
DataGrid提供DataKeyField属性,能够为主键设置字段名。在UpdateCommand绑定的事件处理中,你可以从DataGrid的数据键集合取得主键的名称。
使用DataGrid 中的BoundColumn控件可以让你完全控制列的状态,包括ReadOnly属性。
使用DataGrid中的TemplateColumn控件可以让你完全控制列的内容
ButtonColumn(按钮列)可以用来在该列为每一行提供一个按钮控件,它可以关联事件。
HyperLinkColumn(超链接列)可以添加到DataGrid的列集合,当该链接被点击的时候,可以定向到其他页面。
当DataGrid的AllowSorting(允许排序)属性被设为true,它在列标题位置提供了超链接,用以激活Sort命令,并返回给表格。当用户点击这个(用来排序的)链接的时候,所调用的事件句柄可以在DataGrid的OnSortCommand属性中设定。
DataSet支持ReadXml、ReadXmlData和ReadXmlSchema方法,使用FileStream作为参数,它可以用来从XML文件组装DataSet。
使用存储过程可以减少应用程序中数据库的负荷。
由于这一部分的内容比较多,所以我们用三个章节,包括9、10、11,才将asp.net的服务器端数据访问全部讲完。从后面的章节开始,讲解数据访问和用户订制。敬请期待...
分享:ASP.NET立即上手教程(9)服务器端数据介绍数据访问是现实世界中应用程序的核心内容。Asp.net提供了一套丰富的控件,他与CLR(通用语言运行库)提供的用来管理数据访问的APIs(应用程序接口)紧密结合。本章预排几个
新闻热点
疑难解答
图片精选