Visual Basic中的数据库访问技术

来源 :中国教育信息化·高教职教 | 被引量 : 0次 | 上传用户:javaname40
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:Visual Basic 作为一种流行的编程软件,凭其简单易学得到初学者的青睐并被广泛应用。VB主要提供了三种数据访问技术,包括 DAO数据访问模式、远程数据对象RDO模式以及基于开放式数据源 ODBC的ADO数据访问技术,本文通过对以上几种数据库访问技术的分析比较,提出ADO技术的优势。
  关键词:VB DAO RDO ADO
  中图分类号:TP311.13 文献标识码:A 文章编号:1673-8454(2009)13-0083-02
  
  Visual Basic(简称VB)是微软公司推出的可视化编程工具之一,是目前世界上使用比较广泛的RAD(Rapid Application Develop)工具。VB在数据库应用开发方面的能力十分强大,并且微软还设计了多种数据访问的方法。数据访问是通过数据访问接口实现的,数据访问接口是数据提供方和使用方的中介,没有合适的数据访问接口,就无法进入数据库。VB访问数据库的方法很多,本文重点介绍DAO,RDO和ADO这三种常见的数据库访问的方法。
  
  一、VB中数据的访问技术简介
  
  1.DAO(Data Access Objects) 数据访问对象
  DAO是允许程序员操作Microsoft Jet数据库引擎的第一个面向对象的接口,最初是为了实现对ACCESS 数据库的访问而开发的程序接口。它采用层次结构,提供了丰富的数据对象,通过DAO/Jet功能可以访问ISAM(顺序索引查找方法)数据库,使用DAO/ODBC Direct功能可以实现远程RDO功能,DAO可通过ODBC像直接连接到其他数据库一样,直接连接到Access数据库,但DAO不能触发事件。
  DAO提供了管理系统所需的全部操作的属性和方法,包括创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等工具。在操作中VB把DAO模型封装成Data控件,通过设置相应的DatabaseName属性和RecordSource属性就可以将Data控件与数据库中的记录源连接起来了,这样就可以使用Data控件来对数据库进行操作。DAO最适用于单系统应用程序或在小范围本地分布使用,所以如果数据库是Access数据库且是本地使用的话,建议使用这种访问方式。
  2.RDO(Remote Data Objects) 远程数据对象
  RDO是一个到ODBC的、面向对象的数据访问接口。它依赖 ODBC API、选定的 ODBC 驱动程序以及后端数据库引擎实现大部分的智能和功能。它具备DAO的基本功能,保持了DAO的简单特点,是专为访问远程ODBC关系数据源而设计的。它同易于使用的DAO style组合在一起,提供了一个接口,形式上展示出所有ODBC的底层功能和灵活性。尽管RDO在很好地访问Jet或ISAM数据库方面受到限制,而且它只能通过现存的ODBC驱动程序来访问关系数据库。但是,RDO已被证明是许多大型关系数据库开发者经常选用的最佳接口。RDO提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性,以及方法。
  VB从5.0版本开始使用RDO接口访问远程数据库,和DAO一样,在VB中也把其封装为RDO控件,其使用方法与DAO控件的使用方法完全一样。虽然DAO也可以访问远程数据库,而且可以通过使用ODBC Drivers 代替DAO/jet 显著提高数据访问速度,但是,在使用ODBC Drivers时,将无法使用某些 Microsoft Jet数据库的功能,因此,从VB5.0开始,大多使用RDO访问远程数据库。RDO适合开发一些大的关系数据库,如SQL Server、Oracle等,特别适用于用户/服务器应用程序的开发。
  3.ADO(ActiveX Data Object)Active数据对象
  ADO是DAO和RDO的后继产物,它设计为一种极简单的格式,即通过ODBC的方法同数据库接口,可以使用任何一种ODBC数据源,即不止适合于SQL Server、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件,是一个便于使用的应用程序层接口。ADO是为Microsoft最新和最强大的数据访问范例OLE DB而设计的,OLE DB是新的底层接口,程序中使用了大量的COM接口,而ADO封装了这些接口,时下流行的快速应用程序开发工具、数据库工具、应用程序开发环境和脚本语言都可以访问这种接口。
  从VB6.0开始使用ADO进行数据访问,ADO是基于面向对象模型的访问技术,用它产生的应用程序占用内存少,目前已经成为当前数据库开发的主流。它适合于各种客户/服务器应用系统和基于 Web 的应用系统中,尤其在一些脚本语言中访问数据库操作是ADO的主要优势。由于ADO 的设计综合了RDO和DAO的最佳性能,它的语法简单,非常易于学习,因此,ADO正在逐渐代替DAO与RDO的数据访问接口。
  
  二、数据库访问技术对比分析
  
  DAO是用来实现访问Access数据库的Jet引擎接口,其操作是针对记录和字段,它对于单一的数据库应用系统非常有效;RDO是用来访问ODBC面向对象的接口,其操作针对行和列,主要用于开发大型关系数据库应用程序;ADO访问数据库是通过访问OLE DB数据并提供程序来进行的,能够处理任何类型的数据,是一种通用的数据访问范例。
  1.数据库对象模型的差异
  DAO 模型是设计关系数据库系统结构的对象类的集合,是一种Jet数据库引擎的面向对象的接口。Microsoft DAO Jet 数据库中包括有DB Engine对象、Workspace对象、Database对象等,最顶层的对象是 DB Engine对象,模型中其他对象都是DBEngine 对象的“子”对象。RDO 模型与DAO模型很相似,最明显的区别是RDO对象模型中包括有RDO Engine对象、RDO Environment对象、RDO Connection对象等14 个可供使用的主要对象。
  ADO模型可以看作是RDO模型的精华版,它扩展了DAO和RDO所使用的对象模型,它包含较少的对象、更多的属性方法参数以及事件。模型中只有3个对象成员Connection、Command、Recordset,以及几个集合对象Error、Parameter、Field和Property等。
  2.访问数据库方式的不同
  DAO 技术主要实现对ISAM类型数据库的访问,如对Foxpro、Access、DBase等数据库的访问,并允许Visual Basic开发者通过ODBC直接连接到Access表,这是一种最为简便的访问已有数据库的方法,在VB 6.0中实现得非常巧妙。DAO Jet服务的另一个优势就是它包含了自己的查询引擎,即不需要远程的或基于服务器的数据库系统(如SQL Server或Oracle)的支持就能完成数据请求。如果程序需要在单机环境下运行,DAO Jet数据服务是最好的选择。
  ADO技术基于通用对象模型(COM),它提供了多种语言的访问技术,同时,由于ADO提供了访问自动化接口,所以,ADO可以用描述的脚本语言来访问VBScript,VCScript等。
  DAO、RDO、ADO数据访问技术的区别如表1所示。
  
  三、VB访问数据库的原则
  
  在数据访问接口中三种访问技术各有各的特点,至于实际使用哪一种接口方式,在很大程度上依赖于用户的应用程序的具体情况而定。要做到具体问题具体分析,根据具体的环境、条件、要求而采用适当的方案,应用中注意以下几个原则:
  
  1.代码的重用和运行的效率
  比如通过使用ODBC数据源连接数据库的方法,可在变换多种数据库类型的情况下,不用频繁修改代码。而用VB SQL通过DB-Library就做不到。当然ODBC接口并不是VB访问数据库运行效率最高的方法。
  2.实现的简便性,易维护性
  如果数据量不大,而且要求开发周期短的情况,建议使用DAO Access,虽然DAO功能并不强大,但是它对Jet引擎进行了加速优化处理,所以这种搭配应该是比较好的选择。如果我们设计的方法复杂,那么设计出来的应用程序也会很复杂,维护时就很困难。比如:本地需要访问ISAM 或Jet 类型数据源,那么就使用DAO/Jet,而没有必要使用通过ODBC的方法。
  3.安全性原则
  这一条应根据环境和条件决定。例如局域网的网络安全性要好于广域网,因而可直接利用数据控件如RDC,这样实现起来方便快捷,广域网需要大量的错误捕获,用RDC就不如用RDO易控制错误。
  
  四、结束语
  
  由于OLE DB的ADO对象模型具有简单性、可扩充性、数据访问的一致性等优点,它正在逐步代替老的DAO和RDO数据访问接口,成为新的标准数据访问接口,其应用必将越来越广。但是ADO并不支持DAO的所有功能,在ADO的演化过程中,马上把大多数DAO应用程序移植到ADO上可能为时太早,例如当前的ADO并不支持数据定义(DDL)、用户、组等。微软的新名词层出不穷,最新又推出了UDA,随着网络技术和数据库技术的不断发展,现在的应用系统对数据集成的要求越来越高,我们要灵活掌握各种数据库访问技术,更好地完成数据库的开发。
  
  参考文献:
  [1]姚小兵.VB中ADO技术的应用[J].电脑与信息技术,2005,13(4):22-24.
  [2]杜玲玲,罗红星.VB下利用ADO实现对SQL Server的访问[J].江西电力职业技术学院学报,2005,18(2):39-41.
  [3]李林等.Visual Basic程序设计[M].北京:地质出版社,2006.
其他文献
摘要:本文设计的电子白板模型结合了B/S和C/S的优点,尽量减少两种模式在使用中的不便,使电子白板在用于研究性学习互动教学平台中能够为广域网内的用户提供更为强大的交互功能,有效地解决学生之间,学生和老师之间的知识共享和信息交流等问题,并且尽可能地降低系统维护的成本和难度。  关键词:电子白板 CSCW 研究性学习 B/S C/S  中图分类号:G434 文献标识码:A 文章编号:1673-8454
2008年5月12日,四川的汶川、北川等地区发生了特大地震。笔者作为全国妇联儿童工作部委员,拟参与妇联组织的赴灾区慰问事宜(最终因故未能成行)。由于三十多年来致力于以儿童自主性绘畫为载体的儿童自主创新教育研究,笔者当时联系了广西、湖北、北京等省市的部分幼儿园,开展以地震为主题的相关教育活动,请老师们利用视频和图片,和孩子们谈论地震灾害、讲述抗震救灾故事、折叠千纸鹤和幸运星、组织捐款捐物、举行烛光悼
摘要:依托世界大学城云系统搭建湖南工艺美术职业学院云平台首创的主题特色空间建设是将空间建设与空间教学、空间管理引向更深层次、更细层面的重要举措,在高校教育信息化推进上具有一定的示范与推广价值。本文对主题特色空间的概念、功能作用、建设方式与实践意义作了全面深入的剖析与阐述,对空间建设与空间应用的深层次拓展具有一定的理论与实践指导意义。  关键词:主题特色空间;世界大学城;云系统;云平台  中图分类号
一次饭后散步,孩子们看到园丁杨爷爷在翻耕土地,便问:“杨爷爷,这里要种什么呀?”得知要播种向日葵之后,孩子们立刻表示也想参与种植。一个阳光明媚的上午,杨爷爷带着种子,孩子们充满激动与好奇,一起在幼儿园阳光农场种下了向日葵,孩子们和向日葵的故事拉开了序幕。  向日葵保卫战  种子种下去了,孩子们每天都期盼着小苗苗可以早点长出来。慢慢地,小芽开始冲破土壤,从此,田间地头都是孩子们忙碌的身影……  “这
受疫情影响,常规的家园共育活动不得不暂时中断了,老师们积极运用现代教育技术及网络平台和通讯工具,加强与家长多形式的沟通,主动了解家长在教育孩子中遇到的问题,有的放矢、精准施策,形成特殊时期家园共育的教育活力。同时,新形势下的家园共育活动的突发性、即时性等特点,也给老师们带来了新的挑战。  案 例  3月15日晚上,皮皮妈在班级微信群发了一个视频,三岁半的皮皮和姥姥在玩扑克牌游戏。姥姥先出了一张梅花
摘 要:本文针对校园网内部资源安全问题中一直未能很好解决的用户身份认证问题和外部用户对校园网内部资源的安全访问问题,结合当前网络安全领域内的先进技术,提出了基于PKI与VPN技术的校园网内部资源保护方案模型。文章重点分析了模型中PKI与VPN技术的应用以及模型的安全性。  关键词:PKI VPN 数字签名 校园网内部资源  中图分类号:TP393.8 文献标识码:A 文章编号:1673-8454(
基于“幼儿园的教育应着眼于儿童的和谐全面发展”“让幼儿在活动中自主选择、自由表演、自助共享”的教育理念,我园对艺术教育的一些问题进行了思考,认为只有让艺术活动回归到儿童的本真,融于其生活、游戏之中,才能更加适宜地促进幼儿的生命成长与发展。  于是,我园尝试支持幼儿自选、自助、自演,进行不同年龄段的“小社区剧场”活动——自愿表演型小班动物欢乐剧场游戏、分享交流型中班米奇童话剧场游戏以及互助合作型大班
6月28日下午,苏州市政府召开全市教育信息化工作会议。华中师范大学校长杨宗凯,国家教育发展研究中心副主任杨银付,教育部教育管理信息中心主任助理刘学民,江苏省教育厅副巡视员步锦昆,江苏省教育管理信息中心主任尤学贵,苏州市政府副市长王鸿声等领导出席会议。  会上,苏州市教育局局长顾月华回顾和总结了全市30年来教育信息化的发展历程和基本经验,并就下一阶段如何促进教育信息化科学发展、内涵发展、融合发展、创
前言  幼儿学习品质包含一系列学习态度、习惯和风格,是幼儿在学习活动中表现出来的心理特性或特征。国内外许多实证研究表明学习品质影响幼儿认知与社会交往水平,能直接预测未来学业成就。自上世纪末起,有越来越多的国家愈加重视对儿童学习品质的培养。我国颁布的《3-6岁儿童学习与发展指南》第一次在政策文本中提出了学习品质的概念。  对学习品质的评价是儿童评价不可缺少的组成部分。当前我国有少数几个学习品质评价工
不同类型、发展阶段的幼儿园,其开展家园共育的切合点是不同的。开放办园一定要适合本园的实际情况。话题中,幼儿园在离园环节面向社区开放,出现的问题反而提供了加强家園沟通的契机。既然是城乡结合部的新建公办园,想必周围的家长们也是迫切想掌握科学的育儿知识,所以幼儿园可以通过召开家长座谈会,班级微信群、QQ群等,广泛宣传讨论,让家长明晰自身行为对孩子的潜在影响,提高育儿技能。有准备后再开放,边开放边调整。