VB访问数据库的方法及接口的比较

来源 :考试周刊 | 被引量 : 0次 | 上传用户:zuomingyu6
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:本文介绍了几种Visual Basic访问数据库的方法,对这些数据接口的性能进行了比较,并提出相互的转化关系。
  关键词:Visual Basic 数据访问接口 DAO RDO ADO
  
  一、VB访问数据库的方法
  
  VB访问数据库的方法很多,一般情况下分成两大类,而每一类又有很多方法。下面以列表的方式列出每一类及每一类包含的方法。
  1.接口对象法(API)
  VBSQL:通过DB-Library访问微软的SQL Server
  ODBC API:任何一种ODBC数据源16位和32位
  DAO/Jet:本地的Jet/Access.MDB、顺序索引数据库(ISAM)和任何ODBC数据源
  DAO/ODBC Direct:任何一种ODBC数据源(经过RDO)
  RDO 2.0:任何一种ODBC数据源(LevelⅠ或Ⅱ)
  ADO:任何一种ODBC数据源和任何经过OLE DB界面接口的数据源
  2.数据控件法
  Data Control:DAO/Jet数据界面接口
  Data Control/ODBC Direct:DAO/ODBC Direct数据界面接口
  RemoteData Control/RDC:RDO数据界面接口
  Advanced Data Connector/ADC:ADO数据界面接口
  
  二、几种接口的比较
  
  1.ADC(Advanced Data Connector):高级数据连接器。提供绑定ADO数据源到窗体的数据绑定控件上。ADC主要是一种直接访问或者通过ADO访问远程OLE DB对象的一种技术,它也支持主要應用在微软IE浏览器上的数据绑定控件。它是特地为Web上的浏览器为基础的应用程序而设计的。
  2.ADO(Active Data Objects):Active数据对象。是DAO/RDO的后继产物。ADO“扩展”了DAO和RDO所使用的对象模型,这意味着它包含较少的对象,更多的属性、方法(和参数)以及事件。ADO实际是一种提供访问各种数据类型的连接机制。ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口。可以使用任何一种ODBC数据源,即不止适合于SQL Server、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件,是一个便于使用的应用程序层接口。ADO是为Microsoft最新和最强大的数据访问范例OLE DB而设计的,OLE DB为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等等。ADO在关键的Internet方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。
  3.DAO(Data Access Objects):数据访问对象。是一种面向对象的界面接口。通过DAO/Jet功能可以访问ISAM数据库,使用DAO/ODBC Direct功能可以实现远程RDO功能。使用DAO的程序编码非常简单,DAO提供丰富的游标(Cursor)类型的结果集和非游标(Cursor-Less)类型的结果集,同DDL(数据描述语言)的功能很类似。DAO可通过ODBC像直接连接到其它数据库一样,直接连接到Access数据库。DAO最适用于单系统应用程序或小范围本地分布使用。DAO模型是设计关系数据库系统结构的对象类的集合。它们提供了完成管理这样一个系统所需的全部操作的属性和方法,包括创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等工具。
  4.JET(Joint Engine Technology):数据连接性引擎技术。是一种基于工作站通过DAO的数据库访问机制。虽然可以通过微软Access提供的ODBC驱动程序访问Jet数据库,但使用这些驱动程序在功能上有所限制。Jet机制有自己的查询和结果集处理功能,并可对同种或异种数据源作查询处理。
  5.0DBC(Open Database Connectivity):开放式的数据库连接技术。为异种数据库的访问提供了统一的接口。ODBC基于SQL(Structured Query Language),并把它作为访问数据库的标准。这个接口提供了最大限度的相互可操作性:一个应用程序可以通过一组通用的代码访问不同的数据库管理系统。一个软件开发者开发的客户/服务器应用程序不会被束定于某个特定的数据库之上。ODBC可以为不同的数据库提供相应的驱动程序,是一种公认的关系数据源的接口界面。它快而轻,并且提供统一接口的界面,ODBC对任何数据源都未作优化。
  6.ODBC API:数据库厂商为程序设计者提供的直接访问数据库的一组函数。注意:这里要指出的是,虽然ODBC API提供了很多很方便而且强大的功能,但是通常来说ODBC API都比较难学,而且使用很容易出错。虽然允许用ODBC API来操作ODBC句柄,但还是要小心,如果不正确地使用ODBC API,可能会导致不可预知的错误。例如,假如使用ODBC API代码来关闭连接或释放这些ODBC句柄中的任何一个,那么RemoteData控件或RDO的行为将是不可预知的。保存ODBC句柄以供备用也是没有意义的,因为它们是可变的。
  7.ODBC Direct:是一种基于DAO对象的新的DAO模式,其方法和属性与RDO功能相同。使用在有DAO代码存在的场合,可用来访问远程数据源。
  8.OLE DB:是COM模型的数据库接口。是一种底层数据访问界面接口。是用于第三方驱动程序商家开发输出数据源到ADO技术的应用程序或用于C++的开发者开发定制的数据库组件。它能够处理任何类型的数据。OLE DB向应用程序提供一个统一的数据访问方法,而不考虑它们的格式和存储方法。在实际应用中,这种多样性意味着可以访问驻留在电子数据表、文本文件甚至邮件服务器,诸如Microsoft Exchang中的数据。OLE DB不能被VB直接调用。
  9.RDC(RemoteData Control):远程数据访问控件。是一种对RDO数据绑定的控件。可以输出特定的结果集到数据源控件。
  10.RDO(Remote Data Objects):远程数据对象。是一个到ODBC的、面向对象的数据访问接口,远程数据对象和集合为使用代码来创建和操作一个远程ODBC数据库系统的各个部件提供了一个框架。对象和集合都具有描述数据库的各个部件特征的属性以及用来操作这些部件的方法。可以在对象和集合之间建立起关系,这些关系就代表了数据库系统的逻辑结构。它同易于使用的DAO style组合在一起,提供了1个接口,形式上展示出所有ODBC的底层功能和灵活性。RDO是ODBC API的一个浅层界面接口。是专为访问远程ODBC关系数据源而设计的。尽管RDO在访问Jet或ISAM数据库方面受到限制,而且它只能通过现存的ODBC驱动程序来访问关系数据库。但是,RDO已被证明是许多SQL Server、Oracle以及其他大型关系数据库开发者经常选用的最佳接口。RDO提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性以及方法。
  11.VBSQL:是Visual Basic结构化查询语言。是一种基于API的接口方法,几乎与C的DB-Library API相同。VBSQL只支持微软的SQL Server。VBSQL快而且轻,但不支持对象界面。
  
  三、性能比较及应用说明
  
  用VB开发基于SQL Server的数据库系统,以上几种访问SQL Server的方法各有各的特点。DAOs方法是基于对象的,因而便于使用,但它是从Visual Basic到SQL Server的最慢的方式。ODBC API和VBSQL方法从本质上讲是基于程序的。ODBC API方法通用性好,允许最强的互操作性,编程简单,但速度慢于VBSQL方法。VBSQL方法通过VBSQL控件,提供了重要的SQL Server前端应用程序所需的灵活性、强大功能和良好性能。它具有真正的事件驱动及错误处理能力,完全支持异步处理、游标和计算列等。这些都是VBSQL方法超出其它方法的优势,但其编程稍复杂。RDO是位于ODBC API之上的一个对象模型层,它依赖ODBC API、ODBC驱动程序以及后端数据库引擎来实现,用RDO所需的程序短小(约250KB)、快速。RDO具备基本的ODBC处理方法,可直接执行大多数ODBC API函数,RDO包含在VB 4.0/VB 5.0企业版中,由MSRDO32.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的应用将逐渐减少。至于实际使用哪一种接口方式,在很大程度上依赖于用户的应用程序的具体情况而定。
  
  四、VB访问数据库的原则
  
  应用VB访问数据库时,要具体问题具体分析,根据具体的环境、条件、要求而采用适当的方案,就应注意以下几个原则:
  1.代码的重用和运行的效率
  例如:通过使用ODBC数据源连接数据库的方法,可在变换多种数据库类型的情况下,而不用频繁修改代码。用VBSQL通过DB-Library就做不到。而ODBC接口并不是VB访问数据库运行效率最高的方法。同样,同是使用ODBC接口的ADO的效率要高于RDO。
  2.实现的简便性、易维护性
  如果一种方法实现起来很复杂,工程的开发必然造成人力物力的浪费,同时这样设计出来的应用程序只会支持起来更复杂或维护时更困难。例如:本地需要访问ISAM或Jet类型数据源,那么就使用DAO/Jet,而没有必要使用通过ODBC的方法。RDC实现起来要较RDO更容易。
  3.安全性
  这一条应根据环境和条件决定。例如局域网的网络安全性要好于广域网因而可直接利用数据控件如RDC,这样实现起来方便快捷,而广域网需要大量的错误捕获,如用RDC就不如用RDO易控制错误。
  
  五、结束语
  
  在数据访问接口中DAO最适用于单系统应用程序或小范围本地分布使用,而RDO已被证明是许多SQL Server、Oracle以及其它大型关系数据库开发者经常选用的最佳接口。ADO是DAO/RDO的后继产物。ADO 2.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]Evangelos Petroutsos,Visual Basic5从入门到精通,北京:电子工业出版社,1997.
  [3]孟小峰,开放数据库互连——ODBC 2.0使用大全,北京:清华大学出版社,1995.
  [4]廖卫东,赵军.Visual Basic编程手册,北京:机械工业出版社,1996.
其他文献
摘 要:西尔维娅·普拉斯(Sylvia Plath1932-1963)被众多的权威评论家称为美国最为成功的自白派诗人之一。而正是自白派本质上的冷淡、悲观和失望这几种冷色调揉合在一起便构成了普拉斯黑色的艺术世界。这里的“黑色”既是指午夜天空的漆黑,即阴郁、愁苦和死亡,也同时象征着子宫的黑暗,即再生。本文试图通过对比和解读普拉斯诗歌中黑色的双重力量,最终探究诗人的内心情感和创作意图。  关键字:西尔维
期刊
摘 要:本文结合目前中国IT英语教学现状,结合课堂教学实践,通过分析IT英语的交际教学方法,从而探索出一条有特色的IT英语交际教学之路。  关键词:交际 教学法 英语教学 教师 学生    我国IT行业的英语需求跨越信息技术和英语语言两大领域,表现为与工作密切结合的听、说、读、写多项使用英语技能。IT从业人员在工作中除需听懂同事和客户所讲的技术相关英语之外,还需具备商务英语口语、技术英语口语技能,
期刊
摘 要:传统的作文评语大多公式化、模式化,无形中挫伤了孩子的写作积极性。那么,作文评语究竟要怎么写呢?我想,小学生作文不但是小学生作文能力的体现,也是其在生活实践中的亲身体验。评语不仅应该对学生作文进行评价和指导,更应该对学生的写作心理、道德品质等诸多方面进行引导。因此教师要站在理解、尊重学生的角度,改变以往评语中教师作为说教者的形象,与学生进行平等的对话,耐心的交流,激发学生的写作热情,从而提高
期刊
摘 要: 本文介绍了基于LINUX操作系统的千万级FTP搜索引擎(Sparrow Search)的框架结构,着重探讨了数据库索引的设计方法,针对提高索引检索效率和压缩比率的问题,本文提出了具体方案并给出了实验结果。  关键词:FTP 搜索引擎 数据库 索引    引言    FTP搜索引擎是对因特网上FTP服务器的信息资源进行检索和管理的一类检索系统机制[1],数据的检索过程并不需要搜索整个因特网
期刊
摘 要:目前Java软件技术人才呈现供求不平衡的尴尬局面,本文分析了这种局面产生的原因,针对高等职业院校的教学提出了的三种相应的措施。  关键词:Java开发人才 高职院校    一、JAVA技术人才的需求现状    随着Internet技术的快速发展,Java成为互联网的标准编程模式以及分布式企业级应用的事实标准。以Java2平台为核心的J2EE、J2SE和J2ME三大平台,在世界上形成了一股巨
期刊
摘 要:运用新的课程标准的基本理念“突出学生主体”和 “以学定教”的教学设计尝试英语语法复习。以学生存在的语法问题为核心,通过对语法问题的解决,帮助和指导学生学会思考,分析问题,解决问题。  关键词:学生主体 以学定教 语法问题复习 学会思考    一、背景    1.新的课程标准理念与教学设计  新的课程标准的基本理念强调“突出学生主体,尊重个体差异”。“突出学生主体”从教学层面上理解,就是教学
期刊
摘 要:在ASP.NET 2.0中GridView控件代替了ASP.NET 1.1中的DataGrid控件,该控件通常用于显示数据库查询结果。排序是我們在处理数据时经常会碰到的一类操作,GridView控件支持顺序排序和逆序排序。本文介绍在GridView控件中实现排序功能的三种方法。  关键词:GridView 排序    在ASP.NET 2.0中可以使用GridView控件自带的AllowS
期刊
苏霍姆林斯基说:“儿童是用形象、色彩、声音来思维的。”口语交际教学要选择直观、形象的内容,生动活泼的教法,使学生饶有兴趣主动地投入到说话训练中去,积极地观察、思考、想象。这样他们的语言才会如涓涓细流,流出心田。    一、激发口语交际的兴趣    1.借助插图,想象“说”。  “图画是鼓励学生说话的一种强有力的兴奋剂。”小学低年级教材中每一篇课文都配有大量色彩鲜艳、形象生动的图画,这些图画常能唤起
期刊
摘 要:在新课改精神的号召下,很多地方的教学内容和方法进行了变动,武汉市也不例外。听了杨小玲老师的律动课《东北秧歌》,笔者感觉新的课程精神在该课堂中体现出来了。  关键词:教学目标 师生互动 学生练习 利用多媒体    今年,武汉市首次举办了特殊教育学校教师综合能力竞赛,竞赛的主要内容是课堂教学。杨小玲老师是武汉市第一聋校的律动课教师,笔者对她的一节律动课《东北秧歌》印象很深刻。她的那次课上得很成
期刊
摘 要:著名教育家陈鹤琴先生提出:“凡是儿童自己能做的应当让他自己做。”《纲要》中也指出,要培养幼儿具有基本的生活自理能力。小班幼儿的年龄特点,决定了他们自理能力的培养需言传身教、耐心细致、家园同心,才能收到良好效果。  关键词:小班幼儿 自理能力    在教学中,我常常想:为什么每年新入园的孩子是越来越聪明可爱,可生活自理能力却越来越低,自己的事情不会做或不愿做。究其原因就是:幼儿多为独生子女,
期刊