不论从语法来看,还是从风格和设计目标来看,ado.net都和ado有显著的不同。在asp中通过ado访问数据库,一般要通过以下四个步骤:
1、创建一个到数据库的链路,即ado.connection;
2、查询一个数据集合,即执行sql,产生一个recordset;
3、对数据集合进行需要的操作;
4、关闭数据链路。
在ado.net里,这些步骤有很大的变化。ado.net的最重要概念之一是dataset。dataset是不依赖于数据库的独立数据集合。所谓独立,就是:即使断开数据链路,或者关闭数据库,dataset依然是可用的。如果你在asp里面使用过非连接记录集合(connectionless recordset),那么dataset就是这种技术的最彻底的替代品。
有了dataset,那么,ado.net访问数据库的步骤就相应地改变了:
创建一个数据库链路;
请求一个记录集合;
把记录集合暂存到dataset;
如果需要,返回第2步;(dataset可以容纳多个数据集合)
关闭数据库链路;
在dataset上作所需要的操作。
dataset在内部是用xml来描述数据的。由于xml是一种平台无关、语言无关的数据描述语言,而且可以描述复杂数据关系的数据,比如父子关系的数据,所以dataset实际上可以容纳具有复杂关系的数据,而且不再依赖于数据库链路。