首页 > 范文大全 > 正文

Visual Basic程序开发中数据库访问技术的探讨

开篇:润墨网以专业的文秘视角,为您筛选了一篇Visual Basic程序开发中数据库访问技术的探讨范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:visual basic是世界上使用人数最多的,微软公司开发的包含协助开发环境的事件驱动编程语言。它具有良好的图形用户界面(GUI)和强大的控件功能,并可以轻松地通过DAO、RDO、ADO等对数据库进行连接。该文主要对VB访问数据库的方案进行探讨,使用户从VB访问数据库的众多方法中,选择一种有利于开发人员与应用软件开发的方案,使用户能够更好了解VB的数据库编程功能,开发出的软件更具有现实的意义,而且适应该行业未来的发展。

关键词:控件;数据库接口;数据访问对象;远程数据库

中图分类号:TP311文献标识码:B文章编号:1009-3044(2010)05-1111-03

Probe into Database Access Technology in Program Development

LIANG Bi-yong

(Department of Electronic Information, Luoding Polytechnic, Luoding 527200, China)

Abstract: Visual Basic possesses the world's largest number of users; it is the event-driven programming language developed by Microsoft Company, including assist in the development environment; It has a good graphical user interface (GUI) and powerful control features, and can easily connect the database through DAO.RDO.ADO and so on. This paper mainly discusses VB’s methods to explore access to the database, enables users to choose a better method to access the database for developers’ convenience, and helps users to better understand the function of VB database programming. What’s more, the software developed by them has more practical significance. Meanwhile it can adapt to the industry's future development.

Key words: Database Interface; Data Access Objects; Remote Database

VB是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序,利用VB所提供的强大的数据库的编程工具,就可以设计出来符合我们要求的数据库,以及对数据库进行新增、修改、删除、查询等操作。在VB环境下,利用事件驱动的编程机制、可视化设计工具,使用Windows内部的广泛应用程序接口(SPI)函数,以用动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统,

Visual Basic访问数据库的技术随着Web应用软件的迅速发展和现有数据存储形式的多种多样,而进行快速的扩展,它访问数据库的解决方案正如快速提取分布于企业内部和外部有用商业信息等的多种挑战。但是当用户在实际开发中要进行最佳技术的选择时,都要充分考虑两点:代码的重用和开发者实现选择的数据库访问方案的能力。如果设计者为了实现或追求一种更特别的性能而忽略其中一点,这样设计出来的应用程序只会更复杂或维护时更困难。

下面我们对常用的VB访问数据库的方法进行介绍,通过分析各种方案的探讨使大家对于VB的数据库编程会有一个大概的了解,并进一步对VB编程有更深一步的认识。

1 Data控件与数据访问对象(DAO)传统的数据库访问方法

VB数据库应用程序由用户界面、数据库引擎和数据库三部分组成,而数据库引擎是VB数据库应用程序与数据库之间的桥梁,应用程序通过数据库引擎完成对数据库的各种操作;操作结果也通过数据库引擎返回到用户界面。VB传统的数据访问技术分为两类,其一Data控件类,该类中包括:Data Control(DAO/Jet数据界面接口)、Data Control/ODBC Direct(DAO/ODBC Direct数据界面接口)、RemoteData Control/RDC(RDO数据界面接口)等;其二接口对象类,该类中包括:DAO/Jet(本地的Jet/Access.MDB、顺序索引数据库ISAM和任何ODBC数据源)、DAO/ODBC Direct(任何一种ODBC 数据源,经过RDO)、RDO2(任何一种ODBC数据源LevelⅠ或Ⅱ)等。

1.1 数据控件法(Data控件)

VB中Data控件给出不需编程而能访问现存数据库的功能,使用这种方法用户只需要设置几个属性就可以访问数据库,比较适合于初学者。下面以具本实例作详细分析,例如:我们已创建了一个学籍管理的数据库,该数据库只有一张数据表:学生信息表,该数据表有以下几个字段:学生学号、学生姓名、性别、出生日期等,并且保存的路径是(E:\学籍管理数据库.mdb),具体步骤如下。

第1步:我们需要为所建窗体添加Data控件,具体做法为:双击VB工具箱中的控件图标,就可在所建窗体上添加Data图标,我们使用Data控件的默认Name属性名为Data1。

第2步:设置Data控件属性,这一步的主要作用是将数据控件Data1与具体的数据库中的数据表连接起来。一般要设置以下三个比较重要的属性:

① Connect属性,这是用来指定Data控件所要连接数据库类型;

② DatabaseName属性,这是用来选择要访问的数据库文件;

③ RecordSource属性,这是用来选择要访问的数据表。

第3步:我们来设计窗体,比如我们添加“学生学号、学生姓名、性别、出生日期”这几个标签,并为每一个标签加一个文本框,用来显示数据,这个窗体也是用户所看到的实际界面,用户可以通过这个界面浏览数据、添加数据或修改数据。

第4步:这是最关键的一步,因为Data控件不能直接显示记录集中的数据,所以必须通过控件绑定来实现记录集中的数据的显示。而绑定的作用是将第3步所设计窗体上的控件与Data控件记录集中的字段建立链接关系,只有建立了关系,所设计窗体才能将数据库中的数据接要求显示出来。具体来讲,也就是把上例的“学生学号、姓名、性别、出生日期”所对就应的文本框进行绑定,而将进行控件绑定的方法主要是设置窗体上各控件的两个重要属性,它们分别是:

① DataSource属性,这是用来确定该控件被绑定到哪个Data控件;

② DataField属性,这是用来设置该控件所显示的数据表字段。

对于第3步的例子,需要对每一个文本框进行绑定,也就是那两个属性的设置。这样一旦完成后,这些文本框就可以显示数据库中数据表的数据了。

经过这四步之后,一个数据库管理程序就基本成形了,最后要做的就是利用Data控件的Recordset记录集进行浏览、删除、添加、查找数据库中的内容。而Recordset记录集的使用和使用其它对象的方法一样,也具有属性和方法,有关记录集的使用,使用Data数据控件进行数据库管理只需要添加一些控件,再设置几个属性,如果需要再编写一些简单的程序或者一点程序都不用编写就可以了,省去了繁锁的程序编写。

1.2 数据访问对象(DAO)

DAO就是Database Access Object,数据库访问对象的英文缩写,是VB提供的两种与Jet数据库引擎接口的方法之一,DAO模型则是全面控制数据库的完整编程接口。DAO提供了完成管理一个关系型数据库系统所需的全部操作的属性和方法,包括创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等。DAO使用之前必须先引用,方法是打开VB, 从VB的“工程”菜单中选择“引用”项,当“引用”对话框出现后,从库的列表中选择“Microsoft DAO 3.51 Object Library”,单击“确定”后便可以使用DAO对象库提供的所有对象进行编程了。

VB本身并不是个完全的面向对象的编程环境,但在DAO中是完全的面向对象的。其实面向对象的最初思想就是将数据和操作封装在一起,形成对象,它将数据的值作为属性,数据的查询作为方法,数据值的变化作为事件,完全封装在DAO对象中。用户要通过Jet数据库引擎访问某个数据库,必须先要创建一个WorkSpace对象也称为工作区,然后在该工作区创建数据库或将某个数据库在该工作区中打开,再实现各种相应的操作。如果没有特殊要求,可以使用缺省的工作区WorkSpaces(0),这个工作区由系统自动生成,用户可以直接使用。通过如图2-1 DAO的结构图,便可以清楚知道DAO对各种操作属性和方法的实现,如:创建数据库,创建数据表或数据表字段,打开数据库,使用数据库等。

使用DAO数据对象进行数据库管理需要用户了DAO所包含的对象和属性,还要了解这些对象所提供的方法等,当然还要进行大量的程序编写。

2 RDO数据库访问方法

RDO(Remote Data Objects)远程数据对象,是一个到ODBC的、面向对象的数据访问接口,有任何一种ODBC数据源(LevelⅠ或Ⅱ)的接口对象法RDO 2.0和RemoteData Control/RDC:RDO数据界面接口数据控件法。RDO是ODBC API的一个浅层界面接口。是专为访问远程ODBC关系数据源而设计的,而且它只能通过现存的ODBC驱动程序来访问关系数据库。RDO2.0是Visual Basic访问关系型ODBC数据源的最佳界面接口,因此需要访问ODBC数据源,可以使用RDO。

RDO提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性以及方法。远程数据对象和集合为使用代码来创建和操作一个远程ODBC数据库系统的各个部件提供了一个框架。并且是综合了AO/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的应用将逐渐减少。

3 ADO动态数据库访问方法

在VB 中数据库访问技术一直在不断进步,每一种接口分别代表该技术的不同发展阶段。当今比较新的是ADO,它是比RDO和DAO更加简单,更加灵活的对象模型。在用VB开发数据库软件时越来越多的开发人员使用ADO作为数据访问接口。ADO是ActiveX数据对象(ActiveX Data Object), 是DAO/RDO的后继产物,ADO“扩展”了DAO和RDO所使用的对象模型,它包含较少的对象、更多的属性、方法(和参数),以及事件。它是一种面向对象的接口。ADO访问数据库是通过访问OLE DB使用程序和OLE DB供给程序来进行的,是一种高层的访问技术。ADO技术也可以ActiveX控件的形式出现,广泛应用于Visual Basic的编程。ADO进行数据库访问时,也有任何一种ODBC数据源和任何经过OLE DB界面接口的数据源的ADO与ADO数据界面接口。

ADO实际是一种提供访问各种数据类型的连接机制。ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口。可以使用任何一种ODBC数据源,即不止适合于SQL Server、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件,是一个便于使用的应用程序层接口。ADO在关键的Internet方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。

ADO2.0存在于Visual Basic 6.0的两个独立的库中 第一个称为 ADODB,在References对话框中的名字是Microsoft ActiveX Data Objects 2.0 Library在这个库中包含了所有的ADO对象。对于那些并不需要太多加强的ADO资源工程,应该使用ADOR库。在References对话框中这个库称为Microsoft ActiveX Data Objects Recordset 2.1 Library 这个库只包含对Recordsets 的支持。Visual BASIC 6.0通过ADO控件和 Recordset对象两种方法来使用ADO.使用Recordset 对象的使用方法,用户在visual basic 中加入如下代码:

dim myConnectstr as string

dim myRecordset as New ADODB.recordset

myConnectstr=”PROVIDER”=Microsoft.Jet.OLEDB 4.0;

DataSource=”&App. Path & ware.mdb; Persist Security Info=False”

myRecordset.CoursorLocation=AduseClient

myRecordset.Open“select*from wDetail”

myConnectstr,adOpenKeyset,adLockPessimistic

ADO的数据源对表中的数据进行直接操作,在软件开发过程中,开发人员通常的使用ADO的一般步骤为:先使用数据库管理系统或VB中的可视化数据管理器建立好数据库和数据表结构,然后在程序中通过使用ADODC数据库控件或引用ADO对象与数据库中的表建立连接,再通过数据库感知控件(例如:文本框、DataGrid等)来进行数据库的各种操作。

4 结束语

通过以上探讨与分析了在VB中数据库的管理方法,传统的Data控件使用简单,而且不用编写太多的程序就可使用,对于入门者来说比较适合。但是它不够灵活,对于在程序运行过程中要动态的操作数据库就比较困难,而这也正是DAO数据访问对象的优点,它可以灵活的创建和访问数据库,实现数据的动态访问。但其需要编写大量的程序,实现起来不是那么容易,需要用户有一定的编程基础,深入了解有关的对象以及相关对象的属性和方法。RDO与DAO在发展中已成为相当成熟的技术,大部分用户需要访问ODBC数据源,都可以使用RDO,如访问Jet类型数据源,常使用DAO/Jet。ADO技术的出现,逐渐代替其它数据库访问接口,它比DAO与RDO更加简单、更加灵活,对于新的工程项目,一般使用ADO作为数据访问接口,同样使用ODBC接口的ADO效率高于RDO。ADO还包括RDO风格的功能性,以便和OLE DB数据源交互,另外还包括远程和DHTML技术。在数据访问接口中DAO最适用于单系统应用程序或小范围本地分布使用,而RDO已被是许多SQL Server、Oracle以及其它大型关系数据库开发者经常选用的最佳接口。ADO是DAO/RDO的后继产物。ADO在功能上与RDO更为相似,而且一般来说,而且它们之间有一种相似的映射关系。ADO“扩展”了DAO和RDO所使用的对象模型,它包含较少的对象、更多的属性、方法和参数,以及事件,得到用户的广泛使用。

参考文献:

[1] 李佐勇.VB数据库访问初案[J].闽江学院学报,2003(5).

[2] 聂文燕.开放数据库互连(ODBC)技术的探讨[J].新疆职业大学学报,2004(1).

[3] 孙燕.Visual Basic程序设计[M].北京:高等教育出版社,2000.

[4] 陈伟,程黄金.VB中数据控件绑定控件与数据库的关系及应用技术[J].淮南职业技术学院学报,2004(11).