首页 > 语言 > 关键词 > 最新资讯 > 正文

ASP.NET立即上手教程(11)

2007-09-20 11:03 · 稿源:网页教学网

访问基于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的服务器端数据访问全部讲完。从后面的章节开始,讲解数据访问和用户订制。敬请期待...

  • 相关推荐
  • 大家在看
  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议