概述¶
ADO 对象模型定义了一组可编程的自动化对象,可用于Visual Basic、Visual C++、Java 以及其他各种支持自动化特性的脚本语言。ADO 最早被用于Microsoft Internet Information Server 中访问数据库的接口,与一般的数据库接口相比,ADO 可更好地用于网络环境,通过优化技术,它尽可能地降低网络流量;ADO 的另一个特性是使用简单,不仅因为它是一个面向高级用户的数据库接口,更因为它使用了一组简化的接口用以处理各种数据源。这两个特性使得ADO 必将取代RDO 和DAO,成为最终的应用层数据接口标准。
从上图我们也看到了ADO 实际上是OLE DB 的应用层接口,这种结构也为一致的数据访问接口提供了很好的扩展性,而不再局限于特定的数据源,因此,ADO 可以处理各种OLE DB 支持的数据源。
在ADO 模型中,主体对象只有3 个:Connection、Command 和Recordset,其他4 个集合对象Errors、Properties、Parameters 和Fields 分别对应Error、Property、Parameter 和Field 对象,整个ADO 对象模型由这些对象组成。
一个典型的ADO 应用使用Connection 对象建立与数据源的连接,然后用一个Command 对象给出对数据库操作的命令,比如查询或者更新数据等,而Recordset 用于对结果集数据进行维护或者浏览等操作。Command 命令所使用的命令语言与底层所对应的OLE DB 数据源有关,不同的数据源可以使用不同的命令语言,对于关系型数据库,通常使用SQL 作为命令语言。
在Connection、Command 和Recordset 3 个对象中,Command 对象是个可选对象,它是否有效取决于OLE DB 数据提供者是否实现了ICommand 接口。由于OLE DB 可提供关系型数据源也可以提供非关系型数据源,所以在非关系型数据源上使用传统的SQL 命令查询数据有可能无效,甚至Command 命令对象也不能使用。