• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
用VB和RDO来访问SQL
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
用VB和RDO来访问SQL Server
软件发布 用VB和RDO来访问SQL Server
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 编程技术 >> VB & VB.NET教程 >> 用VB和RDO来访问SQL Server

用VB和RDO来访问SQL Server

添加时间: 2006-2-16 5:21:47  作者: VB教程  阅读次数:195   来源: http://www.d9soft.com

        远程数据对象 (Remote Data Object ,简称RDO) 是位于 ODBC API
之上的一个对象模型薄层,它依赖 ODBC API、选定的 ODBC 驱动程序以及
后端数据库引擎实现大部分的智能和功能,因此短小(大约250 K)、快速
、强健。RDO具备基本的ODBC处理方法,所以可以直接执行大多数ODBC API
函数。RDO包含在VB4.0/VB5.0企业版中,由一个动态连接库MS RDO32.DLL
实现。 当VB版本还只是2.0时,从VB访问MS SQL Server的手段只有API函
数集(VBSQL/DBLib或 ODBC API)。VB发展到3.0时,其DAO/Jet (Microsoft
Access的数据库引擎)功能非凡,具备面向对象的程序接口,但处理速度尚不
尽如人意。另一方面,尽管VBSQL/DBLib、ODBC API在速度方面性能很好,但
它需要花费很大的精力进行繁琐的编程工作。
当MS SQL Server发展到6.0、VB发展到4.0时,开发了新的对象模块,由此产
生了RDO,可以访问SQL Server、Oracle;RDO2.0则是由VB5.0提供的。值得
一提的是,它实现了“事件驱动型数据库访问的编程方式”。
要讨论RDO,就必然要谈到DAO。DAO/Jet是为了实现从VB访问Access数据库而
开发的程序接口(对象)。RDO是从DAO派生出来的,但两者很大的不同在于
其数据库模式。DAO是针对[记录(Records)]和[字段(Fields)],而RDO是作为
[行(Rows)]和[列(Columns)]来处理。也就是说DAO是ISAM模式,RDO是关系模
式。此外DAO是访问Access的Jet引擎(Jet是ISAM)的接口,而RDO则是访问
ODBC的接口。
可见,RDO是综合了DAO/Jet、VBSQL/DBLib以及ODBC的优点的对象(Object)。
需要强调的是,RDO是包裹着ODBC
API的一层薄薄的外壳,被设计成在后台(服务器端)有数据库存在的前提下
运行,同时也是针对SQL Server和Oracle而特别设计的。
RDO的优势在于它完全被集成在VB之中。此外,直接访问SQL Server存储过程
、完全支持TQL、TQL调试集成在开发环境中、Visual Database Tools的
集成化等,也是RDO的长处。

RDO之后是ADO

Microsoft公司已宣布今后不会对VBSQL/DBLib进行升级,而ODBC
API函数一级的编程方式也不为人们所喜爱。RDO自身今后将被以ActiveX技术
为基础的ADO(ActiveX Data O bjects)所替代。Visual
Basic下一个版本中由哪一个作为标准配置还不很明确,但这一发展趋势已经
很清楚。 为什么需要ADO呢?RDO是以ODBC为基础,而ADO则是基于全新的OLE
DB技术。ODBC本身是以SQL Server、Oracle等关系数据库作为访问对象;OLE
DB则不仅限于此,而将是可以对电子邮件、文本文件、复合文件、数据表等各
种各样的数据通过统一的接口进行存取的技术。DAO、RDO当然不会一下子消
失,但随着新技术的利用,它们的作用将逐步淡化。

RDO的对象模块图

要正确地使用RDO,有必要对其对象模块结构加以理解。在RDO的对象和集合
中,有很多对数据库的状态和设定进行操作的属性(Property),以及对数据
库进行操作的方法(Method)。利用这些,从RDO2.0起就可以开发事件驱动的
数据库应用程序。
RDO对象与VB中其他对象的概念相同。与VB用的ActiveX控件(以往称为
Custom Control或OCX、VBX)相似的是,RDO也带有属性和方法;但同
Spread、InputMan等普遍应用的ActiveX控件不同的是,RDO没有自己的用户界
面,因而可以和VB标准的Timer控件归为同一类。当然也可以将RDO看作调用
ODBC API函数,进而对后台数据库操作加以控制的对象。在RDO的属性和方法
中,? 对单个的ODBC API函数以及一连串API函数的调用。

1. rdoEngine对象
最初调用RDO对象以及RDC(远程数据控件)时,自动生成rdoEngine对象的附
带事件(incident)。rdoEngine用于对RDO全局属性的参数、选项进行设置,
是在RDO的阶层结构内处于最上层的对象,包含了所有的其他对象。
rdoEngine对象与DAO/Jet不同,虽然被多个应用程序共享,但体现rdoEngine
对象的设定值的属性却并不共用,而是在各自的应用程序的程序界面中对其分
别加以设定。这些设定值对其他使用RDO以及RDC的应用程序没有任何影响。
rdoEngine不是集合的要素,而是重新定义的对象,rdoEngine对象不能被追加
作成。

2. rdoEnvironment对象
RDO对象在自动创建rdoEngine对象时,将rdoEnviroment对象的初始值生
成并保存为rdo
Enviroments(0)。一般情况下,应用程序中不必追加rdoEnvironment对象
,大多只需对已有的rdoEnviroments(0)进行操作就可以了。只有在支持
一个以上事务(Transaction),需要将用户名和口令信息分别处理的情况
下,利用rdoCreateEnvironment方法将特定的用户名和口令值作成新的
rdoEnvironment对象。在这个方法中可以指定固有名、用户名和口令,如
果所指定的值与rdoEnvironments集合的已经存在的成员名称相同,会产
生错误。新建的rdoEnvironment对象自动追加在rdoEnvironments集合的
最后。调用rdoCreateEnvironment方法时,其name参数可以是长度为0的
文字列,这时新的rdoEnvironment对象将不会被追加在rdoEnvi
ronments集合之中。
3.rdoConnection对象 rdoConnection对象用于同SQL Server的连接管理
,下面是与SQL Server连接的例子。
第一步用New关键字声明一个rdoConnection对象: Dim Cn as New
rdoConnection
由此生成独立连接对象,这时它还不是rdoConnection集合的成员。在
具体连接到SQL Server等之前,有必要设定rdoConnection集合的属性
。对此,使用With关键字编程效率会更好。
With CN
.Connect = “Uid = ; Pwd = ; Database = Pubs; DSN = MyPubsDSN;
”
' 设定Cursor类型
.CursorDriver = rdUseNone
'设定登录超时
.LoginTimeOut = 10 End With

用RDO与SQL Server连接和断开

RDO接口没有自动管理同SQL
Server的连接和断开的功能,需由程序员自己加以判断。这里需要注意的
是对连接和断开时机的管理,因为同时有过多的连接将会造成服务器负
载过重。而且,对SQLServer而言,一个连接只能同时支持一个操作,当
同时进行记录的读出和更新时,需要分别对其各自的连接加以确认。在
一定条件下需要保持连接;反之,当操作完成以后,又需要立即将连接
断开。如果能正确地设计好连接和断开的时刻,就有可能确保扩展更多
的用户数(客户/服务器开发环境中,与数据库项的可扩展性一样,客户
数扩张的可能性。

 

上下文章:

 

上一篇文章: 用ODBC API访问ODBC数据库 下一篇文章: VB中资源文件的具体使用方法

相关文章:

  • 针对微软Server安全漏洞 蠕虫病毒开始流行
  • Windows Server 2008 R2发布
  • 微软发布了SQL Server的规划线路图
  • 在这里教你如何将Access数据导入到SQL Server
  • 选择SQL Server恢复模型确保正确备份

相关软件:

  • FileZilla Server V0.9.28
  • Http File Server 2.3 Build 209 Beta
  • 缪斯邮件服务器(MuseMail Server) V3.72
  • Serv-U FTP Server 7.3.0.2
  • Bopup Communication Server 3.2.14.4808
  • Microsoft SQL Server 2005 Express Edition Service Pack 1

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

编程技术分类导航

  • ASP & ASP.NET教程
  • PHP教程
  • JSP教程
  • C/C++教程
  • VB & VB.NET教程
  • VC教程
  • Delphi教程
  • BCB教程
  • VFP教程
  • PB教程
  • JAVA教程
  • XML教程
  • C#教程
  • CGI教程

本类经典文章推荐

  • VB.net2008创建发送与接收端程序
  • C++程序设计之四书五经
  • VB入门教程之四
  • VB入门教程之三
  • VB入门教程之二
  • VB入门教程之一
  • 压缩被DBGIRD控件正在使用的MDB数...
  • 谈谈VB的数据库编程方式
  • 在VB中用DAO实现数据库编程
  • Data控件使用有密码的Access数据库

VB & VB.NET教程阅读排行

  • VB入门教程之一
  • VB入门教程之二
  • VB入门教程之三
  • VB入门教程之四
  • 如何编写高质量的VB代码
  • 初学者必知:VB10个小编程
  • VB访问SQL Server数据库技术全揭密
  • 怎样在VB中控制Word?
  • 用DAO或ADO正确访问Access 2000
  • VB中列表框的使用技巧说明

编程技术阅读总排行

  • VB入门教程之一
  • Java连接数据库实例
  • VC++之List Box/Check List Box控...
  • 第二章 PowerBuilder 入门之创建新...
  • VC++ List Ctrl控件
  • 第一章 什么是PowerBuilder
  • VC++ Combo Box/Combo Box Ex控件
  • 学C++不得不看的一篇文章
  • VB入门教程之二
  • VC++之Button控件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有