Welcome

首页 / 软件开发 / C++ / ATL COM和ADO

ATL COM和ADO2011-04-25Amit Dey最近我在NIIT.Bangalore做一个在线银行工程。这个工程几乎是用VB编写,仅有一小部分涉及ATL组件,仅仅能教会我们编写分布式应用程序。我编写的一个中间层组件用到了ATL和ADO来查询后端(SQL Server),部分代码展示在这里。

我假设读者懂(至少了解)ATL 的 COM 编程和 VB 的 ADO 编程

什么是ADO?

ADO是 ActiveX数据对象(ActiveX Data Object)的缩写。ADO使用OLEDB数据支持提供了一个面向对象的访问数据源的接口,它是DAO and RDO 对象模型的集大成者,集合了DAO 和 RDO 的优点。

C++编写OLEDB程序很容易。但是,那些没有提供指针和其他C++特性的语言(如Visual Basic)实现OLEDB就很难了。

这就是ADO真正露脸的原因。ADO是基于COM接口技术的OLEDB的高级接口,所以,任何支持COM的应用程序都可以实现ADO。

ADO的特性

允许访问所有的数据类型

提供自由线程

提供异步查询

提供客户端和服务器端指针

提供分离的记录集

ADO的体系结构

在ADO模型中,我们将使用三种主要的对象类型:

Connection

Command

Recordset

Connection 对象用来建立与数据源的连接,首先,数据源名称,所在位置,用户ID,密码等都存储在ConnectionString对象中,用来传递给Connection对象来连接数据源。

Command 对象用来执行SQL命令,查询和存储过程

当一个查询被执行了,它返回一组由Recordset对象存储的结果集,Recordset中的数据可以被修改并更新到数据库中。