VB访问数据库之探析

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:qwe6367
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文详细介绍了几种VisualBasic访问数据库的方法并对这些数据接口的性能进行了比较,提出相互的转化关系,以便于选取最佳方案。
  关键词:Visual Basic 数据访问接口DAORDOADO
  中图分类号:TP31文献标识码:A文章编号:1009-3044(2008)15-21008-02
  
  Probe into Access to Database by VB
  XIE Bing-ruo
  (Sichuan Electromechanical Institute of Vocation and Technology, Panzhihua617000, China)
  Abstract: In order to select the optimum project, this paper introduced several accesses to database by Visual Basic in detail, compared the performance of these data interfaces, and put forward the mutual conversion relation.
  Key words: Visual Basic; Data Interface; DAO; RDO; ADO
  
  1 VB访问数据库的原则
  
   具体问题具体分析,根据具体的环境、条件、要求而采用适当的方案。
  1.1 代码的重用和运行的效率
  例如:通过使用ODBC数据源连接数据库的方法,可在变换多种数据库类型的情况下,而不用频繁修改代码。用VBSQL通过DB-Library就做不到。而ODBC接口并不是VB访问数据库运行效率最高的方法。同样,同是使用ODBC接口的ADO的效率要高于RDO。
  1.2 实现的简便性,易维护性
  如果一种方法实现起来很复杂,工程的开发必然造成人力物力的浪费,同时这样设计出来的应用程序只会支持起来更复杂或维护时更困难。例如:本地需要访问ISAM或Jet类型数据源,那么就使用DAO/Jet,而没有必要使用通过ODBC的方法。RDC实现起来要较RDO更容易。
  1.3 安全性原则
  根据环境和条件决定。例如局域网的网络安全性要好于广域网因而可直接利用数据控件如DC,这样实现起来方便快捷,而广域网需要大量的错误捕获,如用RDC就不如用RDO易控制错误。
  
  2 VB访问数据库的方法
  
  VB访问数据库的方法很多,一般情况下,分成两大类,而每一类又有很多方法,下面的列表的方式列出每一类,及每一类包含的方法。
  
  
  3 数据访问接口功能含义
  
  (1)ADC:高级数据连接器(Adranced Data Connector):提供绑定ADO数据源到窗体的数据绑定控件上。ADC主要是一种直接访问或者通过ADO访问远程OLE DB对象的一种技术,它也支持主要应用在微软IE浏览器上的数据绑定控件。它是特地为Web上的浏览器为基础的应用程序而设计的。
  (2)ADO:Active数据对象(Active Data Objects):ADO实际是一种提供访问各种数据类型的连接机制。ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口。可以使用任何一种ODBC数据源,即不只适合于SQL Server、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。ADO是基于OLE-DB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。
  (3)DAO:数据访问对象(Data Access Objects):是一种面向对象的界面接口。通过DAO/Jet功能可以访问ISAM数据库,使用DAO/ODBC Direct功能可以实现远程RDO功能。使用DAO的程序编码非常简单,DAO提供丰富的游标(Cursor)类型的结果集和非游标( Cursor-Less)类型的结果集,同DDL (数据描述语言)的功能很类似。
  DAO模型是设计关系数据库系统结构的对象类的集合。它们提供了完成处理这样一个系统所需的全部操作的属性和方法,包括创建数据库、定义表、字段和索引,建立表间的关系,定位和查询数据库等工具。
  (4)JET:数据连接性引擎技术(Joint Engine Technology):是一种基于工作站通过DAO 的数据库访问机制。虽然可以通过微软Access提供的ODBC驱动程序访问Jet数据库,但使用这些驱动程序在功能上有所限制。Jet机制有自己的查询和结果集处理功能,并可对同种或异种数据源作查询处理。
  (5)ODBC:开放式的数据库连接(0pen Database Connectivity):是一种公认的关系数据源的接口界面。它快而轻并且提供统一接口的界面,ODBC对任何数据源都未作优化。
  (6)ODBC Direct:是一种基于DAO对象的新的DAO模式,其方法和属性与RDO功能相同。使用在有DAO代码存在的场合,可用来访问远程数据源。
  (7)OLE DB:是一种底层数据访问界面接口。是用于第三方驱动程序商家开发输出数据源到ADO技术的应用程序或用于C 的开发者开发定制的数据库组件。OLE DB不能被VB直接调用。
  (8)RDC:远程数据访问控件(RemoteData Control):是一种对RDO数据绑定的控件。可以输出特定的结果集到数据源控件。
  (9)RDO:远程数据对象( Remote Data Objects ) :远程数据对象和集合为使用代码来创建和操作一个远程ODBC数据库系统的各个部件提供了一个框架。对象和集合都具有描述数据序的各个部件特征的属性以及用来操作这些部件的方法。可以在对象和集合之间建立起关系,这些关系就代表了数据库系统的逻辑结构。RDO是ODBC API的一个浅层界面接口。是专为访问远程ODBC关系数据源而设计的。
  (10)VBSQL:是Visual Basic结构化查询语言。是一种基于API的接口方法,几乎与C的DB-Library API相同。VBSQL只支持微软的SQLServer。VRSQL快而且轻但不支持对象界面。
  
  4 性能比较及应用说明
  
  用VB开发基于SQL Server的数据库系统,以上几种访问SQL Server的方法各有各的特点。DAO方法是基于对象的,因而便于使用,但是它是从Visual Basic到SQL Server 的最慢方式。0DBC API 和VBSQL方法从本质上讲是基于程序的。ODBCAPI方法通用性好,允许最强的互操作性,编程简单,但速度慢于VBSQL方法。VBSQL方法通过VBSQL控件,提供了重要的SQL Server前端应用程序所需的灵活性、强大功能和良好性能。它具有真正的事件驱动及错误处理能力,完全支持异步处理、游标和计算列等。这些都是VBSQL方法的优势,但其编程稍复杂。RDO是位于ODBC API之上的一个对象模型层,它依赖ODBC API 、ODBC驱动程序以及后端数据库引擎来实现,用RDO所需的程序短小(约250 KB)、快速。RDO具备基本的ODBC处理方法,可直接执行大多数ODBC API函数,RDO包含在VB 4.0/VB 5.0企业版中,由MSRDO 32.DLL动态连接库来实现。RDO是综合了DAO/Jet、VBSQL/DBLib和ODBC的优点的对象模型,包含ODBC API应用层,设计为在后台(服务器端)有数据库存在的前提下运行,是针对SQL Server和Oracle而特别设计的。RDO的优势在于它完全被集成在VB之中,可直接访问SQL在Server存储过程、完全支持T-SQL、T-SQL调试集成在开发环境中、Visual Database Tools的集成化等。但微软已宣布今后不再对VBSQL/DBLib进行升级,而ODBC API函数一般的编程方式也不为人们所喜爱,RDO的应用将逐渐减少。至于实际使用哪一种接口方式,在很大程度上依赖于用户的应用程序的具体情况而定。
  
  5 结束语
  
  在数据访问接口中DAO最适用于单系统应用程序或小范围本地分布使用,而RDO已被证明是许多SQL Server、Oracle以及其它大型关系数据库开发者经常选用的最佳接口。ADO是DAO/RDO的后续产物。ADO2.0在功能上与RDO更相似,而且一般来说,在这2种模型之间有一种相似的映射关系。ADO“扩展”了DAO和RDO所使用的对象模型,这意味着它包含较少的对象,更多的属性、方法和参数,以及事件。
  数据库接口中最新的是ADO,它是比RDO和DAO更加简单、更加灵活的对象模型。对于新工程,应该使用ADO作为数据访问接口。不过ADO并不是自动和现存的数据访问应用程序代码兼容的。当ADO封装DAO和RDO的功能性的时候,必须将许多语言要素转换为ADO语法。在某些情况下,这将意味着现存代码的某些功能的1个简单转换。在其它情况下,最佳的做法可能是用ADO的新功能重写该应用程序。同时要注意的是,ADO当前并不支持DAO的所有功能。ADO主要包括RDO风格的功能性,以便和OLE DB数据源交互,另外还包括远程和DHTML技术。
  一般说来,在ADO的演化过程中,马上把大多数DAO应用程序移植到ADO上可能为时太早,因为当前的ADO并不支持数据定义(DDL)、用户、组等。不过,如果只将DAO用于容户/服务器应用程序,而并不依赖于Jet数据库引擎或不使用DDL,那么现在就可以移植到ADO。
  
  参考文献:
  [1] 宋琦凡,付敬平,使用Visual Basic开发数据库应用软件.北京:电子工业出版社,1996.
  [2] 王道义、乔陶鹏等,Visual Basic使用详解[M].北京:机械工业出版社会性,1999.
  [3] 孟小峰,开放数据库互连—ODBC2.0使用大全[M].北京:清华大学出版社,1995.
  [4] 廖卫东,赵军Visual Basic编程手册[M].北京:机械工业出版社,1996.
  [5] 刘云生,现代数据库技术[M].北京:国防工业出版社,2001.
其他文献
摘要:Access2003软件具有强大的数据库管理功能,同时又具有操作简单,易于学习和使用的优点,十分适合医院的基层人员在管理医疗械是使用。  关键词:Access;医疗器械管理  中图分类号:R197文献标识码:B文章编号:1009-3044(2008)22-835-02  Microsoft Access2003 (以下简称Access)是Office2003的一个套装程序,普遍装于近年出售的
摘要:随着社会主义新农村建设的不断深入,农村人民生活水平的不断提高,新农村的规划和管理也相应的提高到一个新的层次。运用现代技术手段提高新农村发展规划水平和建设的可视化效果,本文结合适普公司IMAGIS软件,对新农村建设的三维场景问题进行讨论,并且根据三维地理信息系统的原理和方法来建立农村的三维模型场景,给出了系统空间数据和属性数据的管理方法。  关键词:IMAGIS;三维地理信息系统;三维建模;高
摘要:对基于IE内核(如IE,Maxthon)与基于Gecko内核(如Firefox)的浏览器的网页内容获取与分析的技术进行了研究,采用Visual C 6.0为平台,基于COM技术和微软的MSAA技术,采用了多种方式实现了基于以上两类不同内核的浏览器的网页内容获取,并对这几种获取方式进行了优劣比较。  关键词:COM; DOM; MSAA; IE; Gecko; windows编程  中图分
摘要:Bash与tcsh是目前Unix/Linux操作系统中两种流行的shell。通过举例,对这两种shell常用的功能和特性进行了对比,内容包括变量赋值、数组、环境设置、命令参数、数值计算、条件流程控制、循环语句和信号处理等。这些比较是对这二者主要区别的一个很好的总结,能够为bash与tcsh的学习和使用者提供便利和帮助。  关键词:Unix;Linux;Bash;Tcsh  中图分类号:TP3
(连云港市建筑设计研究院 中心机房,连云港 222000)  摘要:本文介绍了打印机工作语言PCL及PS,简要地对PCL和与PS进行了技术分析,重点阐述了这两中语言的区别和应用环境。  关键词:PCL;PS;PCL及PS的区别和应用  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)06-1pppp-0c    Analyse Printer Language PCL
摘要:java.net中包含了网络通信所需要的类,文中主要阐述了使用JAVA编程语言对基于客户/服务器模式的应用编写网络通信程序,讨论了SOCKET机制的原理,重点介绍Java中输入输出流的概念以及程序实现代码。  关键词:JAVA;网络;SOCKET;APPLET  中图法分类号:TP311文献标识码:A文章编号:1009-3044(2008)08-10ppp-0c    网络上的系统结构多为客
摘要:语料库作为一种新的学科,由语言学与文学之间融合而来,被广泛应用在小说、诗歌等文学作品的研究工作中。语料库这门学科的发展非常迅速,同时也为当今社会的文学批评工作带来了一种活力。本文以霍桑的《红字》为例,从语料库的视角进行分析与探讨。  关键字:语料库 文学批评 红字  引言  人的生活离不开学习,通过各种不同的学科学习,人们会从中学习到知识,而从文学作品中,人们会从中受到熏陶,得到一种精神文化
摘要:本文综合利用认证中心CA及SSL,防火墙、入侵检测技术和病毒防护技术设计一个基于认证子系统ASS(Authority Subsystem)和统一监控防护系统UMDS(United Monitor Defend System)的安全教务管理系统,保证教务管理系统的安全运行。  关键词:认证中心;加密套接字协议层;防火墙;入侵检测系统   中图分类号:TP315文献标识码:A文章编号:1009-
摘要:随着计算机及网络技术的迅猛发展,实时、高效、安全地管理计算机,更好地共享资源的各种技术成为人们研究的重点。本文针对传统C/S管理模式存在的问题,提出采用WMI技术来实现对计算机进行高效管理的方法,并给出获取远程计算机信息和远程控制计算机的具体实现。  关键词:WMI;C/S;远程控制;WMI脚本;VB.NET  中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2008)
摘要:介绍了一种基于ARM的嵌入式系统的设计方法;首先简要介绍了嵌入式硬件设计方案,然后重点阐述了BootLoader程序的设计、uCLinux的编译与移植,最后对uCLinux下的网络编程进行了分析。  关键词:ARM;嵌入式系统;linux;BootLoader  中图分类号:TP274文献标识码:A文章编号:1009-3044(2008)09-11724-02    The Design a