当导航到下一页的记录时,修改ADO.NET访问数据库子句使它包含所有唯一标识比当前页标识大的记录;当导航到前面一页时,修改WHERE子句使它包含所有唯一标识比当前页标识小的记录。
不论从语法来看,还是从风格和设计目标来看,ADO.NET访问数据库都和ADO有显著的不同。在ASP中通过ADO访问数据库,一般要通过以下四个步骤:
1、 创建一个到数据库的链路,即ADO.Connection;
2、 查询一个数据集合,即执行SQL,产生一个Recordset;
3、 对数据集合进行需要的操作;#t#
关闭数据链路。
在ADO.NET里,这些步骤有很大的变化。ADO.NET的最重要概念之一是DataSet。ADO.NET访问数据库是不依赖于数据库的独立数据集合。所谓独立,就是:即使断开数据链路,或者关闭数据库,DataSet依然是可用的。如果你在ASP里面使用过非连接记录集合(Connectionless Recordset),那么DataSet就是这种技术的最彻底的替代品。#t#
有了DataSet,那么,ADO.NET访问数据库的步骤就相应地改变了:
1、 创建一个数据库链路;
2、 请求一个记录集合;
3、 把记录集合暂存到DataSet;
4、 如果需要,返回第2步;(DataSet可以容纳多个数据集合)
5、 关闭数据库链路;
6、 在DataSet上作所需要的操作。
DataSet在内部是用XML来描述数据的。由于XML是一种平台无关、语言无关的数据描述语言,而且可以描述复杂数据关系的数据,比如父子关系的数据,所以DataSet实际上可以容纳具有复杂关系的数据,而且不再依赖于数据库链路。
上面的代码和ADO没有什么太大的差别。应该提到的是,ADO.NET访问数据库提供了两种数据库连接方式:ADO方式和SQL方式。这里我们是通过ADO方式连接到数据库。关于建立数据库连接的详细信息,我们在后面的篇幅中将会讲到。