热情软件屋

 

VB中的ADO、DAO、RDO等是如何区分的


编号:QA002617
建立日期: 2000年2月23日 最后修改日期:2003年8月24日
所属类别:

zy:
    编程工具: win98
    操作系统: vb6
    有个概念我不清楚,就是VB中的ADO、DAO、RDO等是如何区分的?我使用的数据控件DATA,是属什么?使用数据控件是否能支持网上操作(向RDO一样),为什么?还有我编了一个mdb数据库程序,没有用数据控件,但我自已也不知用了ADO,DAO,看我程序的哪一地方确定我使用的方法?如果我使用的是DAO,那么是否能支持网上操作,如不支持,是否可把DAO同RDO或其它方法混合编程?非常感谢贵台!
    
    

回答:

    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

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio