VB中的ADO、DAO、RDO等是如何区分的
编号:QA002617
建立日期: 2000年2月23日 最后修改日期:2003年8月24日
所属类别:
Q
zy:
编程工具: win98
操作系统: vb6
有个概念我不清楚,就是VB中的ADO、DAO、RDO等是如何区分的?我使用的数据控件DATA,是属什么?使用数据控件是否能支持网上操作(向RDO一样),为什么?还有我编了一个mdb数据库程序,没有用数据控件,但我自已也不知用了ADO,DAO,看我程序的哪一地方确定我使用的方法?如果我使用的是DAO,那么是否能支持网上操作,如不支持,是否可把DAO同RDO或其它方法混合编程?非常感谢贵台!
A回答:
Data控件属于DAO,DAO主要适合本机数据库的读写,也可以通过ODBC访问网上的数据库,但效率比较低,一般不采用这种方法,更愿意采用RDO或ADO。如果要使用RDO或ADO的数据库控件都需要另外从部件对话框中添加相应的数据控件,三种方式的数据控件不同。区分你的程序是DAO、RDO,还是ADO的,可以看看打开数据库的方式。DAO使用OpenDatabase方法,RDO使用OpenConnection方法,而ADO一般通过一个ConnectionString来确定数据库的类型和位置。
vivian:那么用一个变量设置为Dim conn As New ADODB.CONNECTINO,然后用conn.open后面跟DSN或者是一串字符,在用一个Recordset的变量把它的记录拿来使用,这种方式是属于那一种呢?谢谢!!!vivian呈上。
答:这里使用了ADODB库,明显属于ADO。
Mr.凌:你们能告诉我什么是ODBC吗?
答:ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。
一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。
不过直接使用ODBC API比较麻烦,所以微软后来又发展出来DAO、RDO、ADO这些数据库对象模型。使用这些对象模型开发程序更容易。这些模型都支持ODBC,所以即使你所访问的数据库没有提供ADO的驱动(或称提供者),只要有ODBC驱动一样可以使用ADO进行访问。
相关问题:
QA000884 "DAO与ODBC有什么区别"
QA001882 "访问远程数据库,DAO和RDO哪个好"
此问题由李海回答。
附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, 数据库, database, query, 新手问题, newbie, faq。
| |
|
|
| |
|
|