当前位置:编程学习 > VB >>

关于定义变量的一点问题



1、为什么写下如下的定义时 Dim A As New 后面出现的可用列表时有ADODB,但没有ADODC,这两者有什么区别


2、为什么可以定义DIM A AS NEW ADODB,也可以定义DIM A AS NEW ADODB.RECORDSET,也就是说 ADODB和ADODB.RECORDSET有什么区别和联系 --------------------编程问答-------------------- ADODC是数据控件.提供的是ADODC的一部分功能.

ADODB包括数据访问的全部类型,方法,对象,类,而adodb.recordset指的是定义一个recordset记录集,这个记录集是adodb提供的,不是其他数据访问库所提供的. --------------------编程问答-------------------- 首先,这样的定义是有编译错误的
Dim A As New ADODB


其次,ADODB 是库名,它不能单独定义变量,主要是为了明确定位具体的类名,下面两种写法通常是等价的
Dim A As New ADODB.RecordSet
Dim A As New RecordSet


最后,ADODC 是控件名,控件是不能离开容器(窗体)单独创建的,所以 New 列表中不会出现 ADODC。 --------------------编程问答-------------------- 完全看不懂啊。 --------------------编程问答--------------------
我们只需对连接和记录集对象实例化,因此只需声明连接和记录集变量。

Dim cn As ADODB.Connection, rs As ADODB.Recordset

Set cn = New ADODB.Connection

Set rs = New ADODB.Recordset

第一个语句是变量声明,后两个语句是实例化。

微软给了我们另一个选择,也就是在声明的同时实例化:

Dim cn As New ADODB.Connection, rs As New ADODB.Recordset

但微软并不建议这样做。因为这样的结果是,编译得到的执行代码的每一句后面都会附加一个数据对象的处理语句,降低了效率。

如果在一个工程中,你只用了 ADO,则前缀 ADODB 是可选的。反之,如果你同时使用了 DAO 对象,则对 ADO 对象的声明就必须加上 ADODB。因为用 DAO 处理数据库和数据库表(例如压缩库文件、创建表、改变表的架构)是很方便的,同时使用 ADO 和 DAO 的情况是存在的。

ADODC 是基于 ADO 的数据控件,就如 Data 控件之于 DAO。如果在工程中使用了 ADODC,则可以不使用 ADO 对象变量(当然同时使用也是可以的)。

你可以通过 ADODC 直接访问这些对象:

ADODC1.Recordset.Fields("username") = "Bile Gates"
ADODC1.Recordset.ActiveConnection.Execute "Insert Into yourtable Select * From anothertable"

极端的情况,你也可以借助 ADODC “免代码”完成数据库的操作。
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,