炒外汇怎么赚钱:8.4.1 填充DataSet

来源:百度文库 编辑:中财网 时间:2024/04/30 15:44:31

8.4.1 填充DataSet

在下面的示例中,你将会看到如何从SQL Server表中获得数据并用它填充DataSet中的DataTable对象。你还将看到如何通过编程循环遍历记录并逐一显示。所有的逻辑代码都放在Page.Load事件处理程序中。

首先,代码创建连接并定义SQL查询的文本:

 下一步是创建用于读取雇员列表的SqlDataAdapter类的实例。虽然每个DataAdapter对象都支持4个Command对象,但是只有一个(SelectCommand)是填充DataSet所必需的。为了简单起见,可以创建需要的Command对象,然后把它赋给DataAdapter.SelectCommand属性。在DataAdapter的构造函数中只要提供Connection对象和查询语句就可以了,如下所示:
 


现在你要做的是创建一个新的空DataSet对象,然后利用DataAdapter.Fill()方法执行查询并把结果放到DataSet新建的DataTable中。此时,还可以指定表的名称。如果不指定,会自动定义一个默认名(如Table)。在下面的示例中,尽管不是必需的,但还是使用了和数据库中源表一致的名字来命名表:


注意这段代码并没有调用Connection.Open()方法来打开连接。相反,当调用Fill()方法时,DataAdapter自动打开和关闭相关联的连接。所以,唯一需要考虑进行异常处理的一行代码是DataAdapter.Fill()。当然,也可以选择手工打开和关闭连接。调用Fill()方法时,如果连接已经打开,DataAdapter将使用该连接并且执行完毕后也不会自动关闭它。当需要在数据源上执行一系列快速连续的操作时,这样做很有效,它不会因为重复地打开和关闭连接从而带来额外的开销。

最后一步是显示DataSet的内容。一种快捷方式是利用前一章所讲的技术来检索每条记录并构建一个HTML字符串。下面的代码循环遍历DataTable的所有DataRow对象并在列表中显示每个记录的字段值:

 

当然,ASP.NET模型可以把你从编写原始的HTML代码中解脱出来。更好的办法是把DataSet中的数据绑定到一个数据绑定控件上,它将基于模板自动生成所需的HTML。第9章将会详细介绍数据绑定控件。

注解

将DataSet和控件绑定时,视图状态中并没有保存数据对象。数据控件只保存足够当前显示的信息。如果要在多次回发间和DataSet交互,就必须以手工方式把DataSet保存到视图状态(这会显著增加页面的大小)或者会话或缓存对象中。