ado.net 的数据存取和之前的版本不一样。前版的ado 存取数据的方式只有一种,那就是透过ole db 来存取数据;而现在的ado.net 则分为两种,一种是直接存取ms sql server 中的数据,另一种是透过ole db 来存取其它数据库中的数据。前面我们提过:
要存取数据源中的数据,要透过数据操控组件。这个数据操作组件就是connection 对象、command 对象、datasetcommand 对象以datareader 对象。由于我们可以选择透过ole db 和资料源联机,或是和ms sql server 直接联机;
所以asp.net 提供了两组数据操作组件,分别为ado 数据操作组件以及sql 数据操作组件。

每组数据操作组件内都有connection 对象、command 对象、datasetcommand 对象及datareader 对象。为了容易分别这两组数据控制对象,我们将这四个对象分别加上前缀ado以及sql,如下表所示:

这两种数据操作组件虽然针对的数据源不一样,但是这些对象的架构都一样。例如adoconnection 和sqlconnection 对象虽然一个是针对ole db,而另一个是针对ms sqlserver,但是这两个对象都有一样的属性、事件及方法,所以使用起来并不会造成困扰;只要了针对所要建立的数据源种类来选择ado 数据操作组件,或是sql 数据操作组件就可以了。虽然我们也可以透过ole db 来存取ms sql server 中的资料,但是透过sql 类别对象来存取ms sql server 中的数据效率最好;这是因为sql 类别不经过ole db 这一层,而是直接呼叫
ms sql server 中的api,所以效率比较好。ado.net 对于这两种数据存取方式所使用的对象完全不一样,在使用的时候必须要特别注意。
