1 引言
自Microsoft在Visual Basic 3. 0中首次引入数据访问对象DAO(Data Access Object),Visual Basic编程语言就成 为程序员进行数据库编程的一种较好的工具;随后在4 版中又推出远程数据对象RDO(Remote Data Object),5 版中加入了ActiveX组件.随着版本的升级Visual Basic 操作数据库的功能更加强大,也更加方便.在Visual Ba2 sic 6. 0中, Microsoft引入了ADO(ActiveX Data Objects). ADO将要替代数据库访问的最初方法DAO和RDO. ADO是建立在OLE DB(OLE DataBase)基础之上的基于对 象的高层数据库API ,ADO通过封装在低层OLE DB功能 中的不同对象,方法和属性以提供高层接口.ADO基于ActiveX标准,扩展性强,适应了在Internet上的编程需要.
笔者在使用ADO编程的基础上,以应用为基线,概 要分析ADO的各个方面,力图给读者一个较完整的ADO 轮廓,并给出了一些编程框架.
2 ADO数据控件
VB6. 0除保留了基于DAO的Data控件外,添加了与 ActiveX数据对象相对应的ADO数据控件.ADO数据控 件与原有数据控件功能相似,主要的不同在于ADO数据 控件使用ADO来访问数据库,可以快速地在数据绑定控 件和数据库之间建立联系.ADO数据控件可以链接到 本地数据库和远程数据库,可以打开数据库中特定的 表,也可以基于数据库中的所有表,使用SQL查询存储 过程和视图产生记录集.同样,ADO控件可以将数据传 递给数据绑定控件,并根据绑定控件中显示的变化来更 新数据库.
211 ADO数据控件的主要属性和事件
ConnectionString属性 用于建立链接,包含所有建 立链接必须的设置,在该字符串中所传递的参数是与驱 动程序相关的. RecordSource属性 这个属性通常包含一条语句,用 于决定从数据库中检索什么信息.CommandType属性告 诉数据提供者RecordSource属性是一条SQL语句,一个 表的名称,一个存储过程,还是一个未知的类型. CursorLocation属性 指定游标的位置,它可以设定 游标在客户端或服务器端. CursorType属性 指明记录集的游标类型,在VB中 可以是动态游标,静态游标,仅向前游标或键集游标等 四种游标类型的一种.
212 ADO数据控件的主要事件
WillMove和WillComplete事件 WillMove事件在当 前记录的位置即将发生变化时发生;WillComplete事件则 是在当记录位置改变完成时发生. WillChangeField和FieldChangeComplete事件 Will2 ChangeField事件是在当记录集中当前记录的一个或多个 字段发生变化时发生,而FieldChangeComplete事件发生 在当前记录的字段的值变化后. WillChangeRecord和RecordChangeComplete事件 Will2 ChangeRecord事件是当记录集中的一个记录或多个记录 发生变化前产生;而RecordChangeComplete事件发生在当 记录的改变完成后. 以上介绍了ADO数据控件部分属性和事件,与原有 数据控件比较具有更大的灵活性.上述的Connection2 String , RecordSource及数据绑定控件的DataSource , DataField等属性可以在设计时设置,也可以在程序运行 期间动态设置.
3 ADO编程模型
在Visual Basic中对ADO 2. 0对象进行访问,要先设 置对合适的ADO类型库的访问.有两种ADO类型库: 一种叫ADODB ,它以"Microsoft ActiveX Data Objects 2. 0 Library"出现在"Reference"对话框中;另一种叫做ADOR , 以"Microsoft ActiveX Data Objects Recordset 2. 0 Library"出 现在"Reference"对话框中.在两种类型库中,第一种类 型库(ADODB)更大,具有更多功能,它包含了主要的 ADO对象,而且是您可能在大多数情况下希望使用的; 第二种是只支持记录集的ADODB类型库的一个"轻量" 051 计算机应用研究2002年 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved. 子集.
