VB访问数据库的方法及接口分析
VB访问数据库的方法及接口的比较
VB访问数据库的方法及接口的比较VB访问数据库的方法及接口的比较李湘江邹筱梅(长沙交通学院计算机工程系长沙410076)摘要:本文介绍了几种Visual Basic访问数据库的方法,对这些数据接口的性能进行了比较,并提出相互的转化关系。
关键词:Visual Basic 数据访问接口 DAO RDO ADO1 VB访问数据库的方法VB访问数据库的方法很多,一般情况下分成两大类,而每一类又有很多方法。
下面以列表的方式列出每一类,及每一类包含的方法。
1.1 接口对象法(API)VBSQL:通过DB-Library访问微软的SQL ServerODBC 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界面接口的数据源1.2 数据控件法Data Control:DAO/Jet数据界面接口Data Control/ODBC Direct:DAO/ODBC Direct数据界面接口RemoteData Control/RDC:RDO数据界面接口Advanced Data Connector/ADC:ADO数据界面接口2 几种接口的比较ADC(Advanced Data Connector):高级数据连接器。
提供绑定ADO数据源到窗体的数据绑定控件上。
ADC主要是一种直接访问或者通过ADO访问远程OLE DB对象的一种技术,它也支持主要应用在微软IE浏览器上的数据绑定控件。
它是特地为Web上的浏览器为基础的应用程序而设计的。
ADO(Active Data Objects):Active数据对象。
是DAO/RDO 的后继产物,ADO“扩展”了DAO和RDO所使用的对象模型,这意味着它包含较少的对象、更多的属性、方法(和参数),以及事件。
VB访问数据库的方案比较
VB访问数据库的方案比较用Visual Basic访问数据库有许多可供选择的方案,但是选择那种方案更能使开发队伍和应用软件在今天处于有利位置并且适应将来的发展方向呢?这些解决方案各有什么特点?本文将说明这些问题,帮助使用VB5的用户和准备使用VB5的用户选择和决定哪种数据库访问方案对现在很有意义而且适应将来的应用程序。
当今,RDO2.0是Visual Basic访问关系型ODBC数据源的最佳界面接口,就如DAO/Jet是Jet和ISAM(顺序索引查找方法)类型数据源首选的访问接口一样。
这两种方法都完整的集成于Visual Basic中,并且形成了Visual Basic核心的数据访问策略。
RDO2.0的数据访问速度远快于RDO1.0的访问速度,并且RDO和DAO都已发展为相当成熟的技术。
因此假如用户需要访问ODBC数据源,可以使用RDO;如果需要访问ISAM或Jet类型数据源,那么就使用DAO/Jet。
Active Data Objects(ADO)作为另一种可供选择的技术出现,正在逐渐代替其他数据访问接口。
由于RDO同ADO的体系结构非常相似,因此当需要将RDO数据接口转换为ADO时,仍可以使用RDO设计的代码。
有人曾提出这样的问题:是否现在就使用ADO?虽然VB5使用ADO的数据访问接口是可能的,但对于目前ADO的使用状况,将RDO2.0或DAO3.5同ADO做比较显得意义并不很大。
所以回答是:如果感觉方便,还是尽早转移到ADO,这意味着应用软件对各种数据访问接口将继续予以支持。
ADO是独立于开发工具和开发语言的简单而且容易使用的数据接口,同ADO相比,其他数据访问接口都会黯然逊色。
所有的数据源都可以通过ADO来访问,在今天已逐渐成为现实。
VB访问数据库技术的历史综观过去的几年,使用Visual Basic的客户曾设计出数不胜数的程序和组件来建立商务解决方案。
大约80%以上的应用程序是用来访问以下这些数据的:ASCII文本文件、SQL数据库以及大型机数据库。
VB中数据库访问技术的探讨
VB中数据库访问技术的探讨摘要:VisualBasic中对数据库的访问是开发应用软件时必须面临的问题,在开发过程中如何从众多的数据库访问方案中选择一种使所开发的应用软件在今天处于有利位置,并且适应未来的发展方向,将是主要探讨的问题。
关键词:VB;数据库;接口我们知道,VisualBasic中集成了两种核心且已经发展成为相当成熟技术的数据访问策略:RDO和DAO/Jet。
VisualBasic访问关系型ODBC (OpenDatabaseConnectivity)数据源的最佳访问接口是RDO2.0(RemoteDataObjects,远程数据对象);VisualBasic访问Jet和顺序索引查找类型数据源ISAM首选的访问接口却是DAO/Jet。
于是,我们在VisualBasic中确定数据库访问方案时就选用RDO访问ODBC数据源,选用DAO/Jet访问ISAM或Jet类型数据源。
ADO是独立于开发工具和开发语言,简单易用的数据接口。
ADO (ActiveDataObjects)技术的出现,逐渐取代了其他的数据访问接口。
目前,所有的数据源都可以通过ADO来访问。
如果需要将RDO数据接口转换为ADO时,仍可使用RDO设计的代码,这是因为RDO与ADO的体系结构非常相似。
1VisualBasic访问数据库技术的历史与现状纵观过去,VisualBasic客户在解决商务方案时曾设计出各种程序和组件,它们所访问的数据约有80%是ASCII文件、大型机数据库和SQL数据库。
所以,最初的VisualBasic数据访问工具主要是针对ASCII文件的访问,由VBSQL编写的有关SQLServer的前端应用程序非常少。
到了VisualBasic3.0时代,很多用户开始需要访问ISAM,于是微软公司就设计了DAO(DataAccessObject)和Jet(MicrosoftJetDatabaseEngine),从而使得VisualBasic数据库开发人员与Jet的接口变得方便简洁。
VB访问数据库的方法及接口的比较
VB访问数据库的方法及接口的比较【摘要】本文将对VB访问数据库的方法及接口进行比较分析。
首先介绍了ADO连接方式、ODBC连接方式和DAO连接方式,然后分析了它们各自的优缺点和适用场景。
通过比较各种连接方式,读者可以了解到在不同情况下应该如何选择合适的数据库连接方式。
结论部分提出了选择合适的数据库连接方式和灵活运用不同的接口是提高数据库操作效率和代码质量的关键。
本文旨在帮助读者更好地了解VB访问数据库的方法,提高数据操作的效率和精度。
【关键词】VB, 数据库访问方法, 接口, 比较, ADO, ODBC, DAO, 优缺点, 适用场景, 选择, 灵活运用.1. 引言1.1 VB访问数据库的方法及接口的比较Visual Basic(VB)是一种广泛使用的编程语言,用于开发Windows应用程序。
在开发应用程序的过程中,访问数据库是非常常见的需求。
VB提供了多种访问数据库的方法和接口,如ADO (ActiveX Data Objects)、ODBC(Open Database Connectivity)和DAO(Data Access Objects)。
这些方法和接口各有优缺点,适用于不同的场景。
ADO连接方式是最常用的数据库连接方式之一,它提供了一种简单且高效的方法来连接和操作各种数据库。
通过ADO,开发者可以使用SQL语句来查询和更新数据库中的数据,同时还可以使用数据绑定功能来将数据显示在用户界面上。
ODBC连接方式是一种通用的数据库连接方式,它基于标准化的API接口,可以连接各种类型的数据库。
ODBC提供了一种开放的标准,使得开发者可以轻松地切换和连接不同类型的数据库。
DAO连接方式是一种轻量级的数据库连接方式,专门用于连接Microsoft Access数据库。
它提供了一种简单而直接的方法来操作Access数据库中的数据,适用于一些小型应用程序的开发。
比较各种连接方式的优缺点可以帮助开发者根据实际需求选择合适的方式。
VB应用小集————访问VB外来数据库
VB应用小集————访问VB外来数据库VB最引人注目的特点,也是其最令程序员关心的地方,就是它多种数据库的强大功能。
VB中将非MS Access数据库称为外来数据库(External Database),如dBASE、FoxPro、ODBC 等。
VB中使用数据控制外来数据库同Access数据库类似,这里不再赘述,现在主要读一下用生成对象的方法来外来数据库。
外来数据库((以dBASE为例)大致分为以下几步:第一步:建立一个Access型数据库,并在数据库中创建新表—即为附加表。
通过设置附加表的各属性值,使其与你所要的数据库建立关系。
程序代码DimDbasDatabaseDimTdasNewTabledefSetDb=OpenDatabase("MYDB.MDB")Td.Connect="dBASE:DATABASE=c:“DATADIR"Td.SourceTableName="AU THOR"="dBASEAuthorTable"Db.tabledefsAppendTdDb.close第二步:设置INI文件路径。
在VB的程序中使用了外来数据库操作,将应用程序生成EXE文件后,必须提供一个INI文件。
若找不到这个INI文件,将会导致不能数据库,并出现“NOTFOUNDIN STOLLABKISAMS’的错误信息。
设置INI文件路径后,VB的程序会在WINDOWS 子目录中寻找与应用程序同名的INI文件。
设置INI文件路径代码为:SetDataAccessOption1,“Path“Filename”第三步:.INI文件可对不同种类的数据库进行设置,下面为一INI文件代码:[Options]SystemDB=c: “MyPATH“SYSTEM.MDA [ISAM]PageTimeout=5MaxBufferSize=128LockRetry=20CommitLockPetry=20 ReadAheadPages=16 [InstallableISAMs]Paradox3.x=C:“VB“pdx110.DLL FoxPro2.0=C:“VB“xbs110.DLL FoxPro2.5=C:“VB“pdx110.DLL dBASE=C:“VB“pdx110.DLLdBASE=C:“VB“pdx110.DLLBtrieve=C:“VB“btrv110.DLL [ParadoxISAM]PageTimeout=600 ParadoxUsername=BaiUser ParadoxNetPath=P:“PDXDB“CollatingSeguence=Ascii[dBASE]centry=offData=AmericanMark=47Deleted=on这样通过新数据库MYDB.MDB和表“DBASEAU THORTABK”即可你所要的外来数据库了。
VB中ADO对象访问数据库编程方法解析
1引言目前在Visual Basic中开发数据库程序主要有D A O、R D 0、A D O、O DBC四种数据库开发技术。
其中最流行的是AD0。
它是基于全新的O L E D B 技术。
O D B C本身是以SQL Server、Oracle等关系数据库作为访问对象;0 L ED B则不仅限于此,而将是可以对电子邮件、文本文件、复合文件、数据表等各种各样的数据通过统一的接口进行存取的技术。
O LE D B不能从V B直接进行访问,但可以通过称为A D O的C O M接口对它进行访问。
A D O也是开发基于W e b数据库应用软件的最佳手段。
A D O编程主要有两种方式,一种是A D O控件编程,即在程序的窗体当中必须添加A D O控件,然后通过调用A D O控件的属性和方法来进行编程。
但在开发大型数据库的时候,很少直接使用A D O控件来进行编程,而是在程序中调用A D O的对象即Connection、RecordSet等进行编程。
2基本原理A D O编程接口包括6个重要的对象,具体如下。
Connection连接:这个接口表示正在使用的数据源和A D O接口之间的连接。
任何与数据源有交互连接的ADO都可能导致一个或多个从数据源返回的错误,因此C o n-nection接口包含了产生所有错误的接口。
E r r o r(错误集:这个接口表示一个由数据源返回的错误。
相对于Conn ection 的错误集,Error更具体。
可以利用一个Error来判读出错的准确原因。
C o m m a n d(命令:这个接口表示一个能被数据提供者处理的命令。
C o m m an d接口可以返回一个R e c o r d S e ti记录集或执行一个动作(如查询、修改、删除或插入。
任何时候查询或存储过程能接收的数据都能通过Parameter接口传给它Parameter参数:这个接口表示传给C o m m a n d的参数。
VB与数据库连接的几种方法
VB与数据库连接的几种方法在VB中,有多种方法可以连接数据库。
以下是几种常见的方法:1. 使用OLE DB连接:OLE DB是Microsoft提供的一种连接数据库的标准接口,可以连接各种类型的数据库。
可以通过VB中的ADO(ActiveX Data Objects)对象来使用OLE DB连接数据库。
以下是一个使用OLE DB连接数据库的示例代码:```Dim conn As New ADODB.Connectionconn.ConnectionString = "Provider=SQLOLEDB;DataSource=ServerName;Initial Catalog=DatabaseName;UserID=Username;Password=Password"conn.Open```上述代码中,通过设置ConnectionString属性来指定数据库连接字符串,其中包含了数据库类型、服务器名称、数据库名称、用户名和密码等信息。
然后调用Open方法打开数据库连接。
2. 使用ODBC连接:ODBC(Open Database Connectivity)也是一种标准的数据库连接接口,可以连接多种类型的数据库。
可以通过VB中的ODBC对象来使用ODBC连接数据库。
以下是一个使用ODBC连接数据库的示例代码:```Dim conn As New ADODB.Connectionconn.ConnectionString = "Driver={SQL Server Native Client 11.0};Server=ServerName;Database=DatabaseName;Uid=Username;Pwd=P assword;"conn.Open```上述代码中,通过设置ConnectionString属性来指定ODBC连接字符串,其中包含了ODBC驱动程序名称、服务器名称、数据库名称、用户名和密码等信息。
VB与数据库连接的几种方法
VB与数据库连接的几种方法在VB中,与数据库进行连接的方式有多种,可以根据不同的需求选择不同的方法。
下面将介绍几种常用的连接数据库的方法。
1.使用ADO连接数据库:ADO(ActiveX Data Objects)是一种用于连接数据库的COM组件,它提供了一套广泛的API,用于与各种数据库进行交互。
使用ADO连接数据库的基本步骤如下:(1)引入ADO组件:在VB的项目中,需要通过引入ADO组件来使用ADO的功能。
在“项目”菜单中选择“引用”,然后勾选“微软ActiveX数据对象库”即可。
(2)创建连接对象和命令对象:使用ADO连接到数据库需要创建两个核心对象,即连接对象和命令对象。
连接对象用于建立与数据库的连接,命令对象用于执行SQL语句。
(3)打开数据库连接:使用连接对象的Open方法来打开数据库连接。
(4)执行SQL语句:使用命令对象的Execute方法执行SQL语句,可以执行查询、插入、更新、删除等操作。
(5)关闭数据库连接:使用连接对象的Close方法关闭数据库连接。
2.使用ODBC连接数据库:ODBC(Open Database Connectivity)是一种通用的数据库访问接口,可以连接各种类型的数据库,包括Access、SQL Server、MySQL等。
VB提供了对ODBC的支持,可以使用ODBC连接数据库。
(1)设置ODBC数据源:在Windows的“控制面板”中选择“管理工具”->“ODBC数据源”,配置一个ODBC数据源,指定要连接的数据库。
(2)在VB中连接数据库:在VB中使用ODBC连接数据库需要通过ODBC数据源名来建立连接。
例如:```Dim conn As New ADODB.Connectionconn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\myDB.mdb;Uid=Admin;Pwd=; "conn.Open```(3)执行SQL语句:通过ADO连接对象执行SQL语句,与使用ADO 连接数据库的方式相同。
VB6.0数据库访问技术与例程解析(转)
VB6.0数据库访问技术与例程解析(转)引⾔ 引⾔ 作为微软旗下⼀款优秀的RAD⼯具,VB在数据库应⽤开发⽅⾯的能⼒⼗分强⼤。
微软设计了多种数据库访问⽅法,下⾯通过对VB访问数据库的多种技术进⾏深⼊剖析,并总结出实际开发中的⼏点经验。
希望能够对那VB的初学者有所帮助。
(注意,⽂中所有的描述均在Windows 2000 professional和Visual Basic 6.0的环境下进⾏的)⼀. DAO、RDO、ODBC和ADO ⼀. DAO、RDO、ODBC和ADO 在VB的开发环境中,可以使⽤三种数据库访问⽅式,它们分别是:数据访问对象(DAO)、远程数据对象(RDO)和ADO对象模型。
DAO: 数据访问对象是⽤来显露了Microsoft Jet数据库引擎(最早是给Microsoft Access 所使⽤,现在已经⽀持其它数据库),并允许开发者通过ODBC直接连接到其他数据库⼀样,直接连接到 Access 表。
DAO 最适⽤于单系统应⽤程序或在⼩范围本地分布使⽤。
其内部已经对Jet数据库的访问进⾏了加速优化,⽽且其使⽤起来也是很⽅便的。
所以如果数据库是Access数据库且是本地使⽤的话,建议使⽤这种访问⽅式。
VB已经把DAO模型封装成了Data控件,分别设置相应的DatabaseName属性和RecordSource属性就可以将Data控件与数据库中的记录源连接起来了。
以后就可以使⽤Data控件来对数据库进⾏操作。
RDO RDO RDO(Remote Data Objects)远程数据对象是⼀个到ODBC的、⾯向对象的数据访问接⼝,它同易于使⽤的DAO style组合在⼀起,提供了⼀个接⼝,形式上展⽰出所有ODBC的底层功能和灵活性。
尽管RDO在很好地访问Jet或ISAM数据库⽅⾯受到限制,⽽且它只能通过现存的ODBC驱动程序来访问关系数据库。
但是,RDO已被证明是许多SQL Server、Oracle 以及其他⼤型关系数据库开发者经常选⽤的最佳接⼝。
vb odbc语法
vb odbc语法在VB中,ODBC(开放式数据库连结,Open Database Connectivity)被用于访问各种数据库,如SQL Server、MySQL、Oracle等。
ODBC提供了一种标准的接口,使得程序可以无需考虑具体的数据库类型而进行数据库操作。
本文将介绍VB中使用ODBC语法进行数据库操作的方法。
1. 连接数据库在VB中使用ODBC连接数据库,需要使用`ADODB.Connection`对象。
首先,需要引入`ADODB`的引用。
在VB的代码编辑器中,点击"项目"->"引用",然后勾选"Microsoft ActiveX Data Objects x.x Library"。
接下来,在代码中声明一个`ADODB.Connection`对象,并设置连接字符串和提供程序。
```vbDim conn As New ADODB.Connectionconn.ConnectionString = "DRIVER={SQL Server Native Client 11.0};SERVER=127.0.0.1; DATABASE=MyDatabase; UID=sa; PWD=123456;"conn.Provider = "MSDASQL"conn.Open```上述代码中,连接字符串设置了数据库的驱动程序、服务器地址、数据库名称、用户名和密码。
这里以SQL Server为例,驱动程序为"SQL Server Native Client11.0",服务器地址为"127.0.0.1",数据库名称为"MyDatabase",用户名为"sa",密码为"123456"。
2. 查询数据连接数据库后,可以使用`ADODB.Recordset`对象进行查询操作。
VB中数据库访问方法比较
1. 1 DAO
数据访问对象(Data Access Object) DAO方式是允许程序员操作Microsoft Jet数据库引擎的第一个面向对象的接口。Jet数据库引擎是一种用来访问Microsoft Access和其它数据源的记录和字段的技术。DAO访问SL Server数据库有两种不同的对象模型可供选择,一种对象模型是通过Jet引擎来访问数据,另一种是通过ODBCDirect来访问数据。这两种对象模型都是层次结构的。使用DAO的程序编码非常简单,其模型是设计关系数据库系统结构的对象类的集合,它们提供了完成管理这样一个系统所需的全部操作的属性和方法。
1. 2 ODBC API
用ODBC API 编程开放数据库连接ODBC(Open Database Connectivity)的思想是访问异种数据库的一种可移植的方式。ODBC AP I是一套复杂的函数集,可提供一些通用的接口,以便访问各种后台数据库。与数据资源对话的公用函数组装在一个称为驱动程序管理器( ODBC. DLL)的动态连接库中。应用程序调用驱动程序管理器中的函数,而驱动程序管理器通过驱动器( SL Server. DLL)把它们送到服务器中。
1、VB访问SL Server数据库的常用方法
Visual Basic作为前端开发语言,与SL Server接口有多种常用的方法,即: DAO (Data Access Ob2ject)数据访问对象; ②为ODBC AP I编程③使用SL Server的Visual Basic库(VBSL)为DB库API编程④RDO (Remote Data Object)远程数据对象; ⑤ADO (Active Data Object)数据对象等。
VB对SQLServer数据库的访问总结
VB对SQLServer数据库的访问总结[摘要]本文从VisualBasic和SQL的概念、关系入手,总结几种VisualBasic 对SQLServer数据库的访问方法,同时比较每种方法的优缺点和性能。
【关键词】VisualBasicSQLServer数据库访问VisualBasic是一种微软公司开发的驱动编程语言,源自于BASIC编程语言。
VB拥有图形用户界面和快速应用程序开发系统,可以轻易地使用RDO、DAO、ADO三种数据引擎连接数据库,或者轻松地创建ActiveX控件。
鉴于以上特点,微软公司为VB提供了大量和SQLServer通信的API函数集和工具集,使得越来越多的公司将VB与SQLServer结合应用起来,以实现高性能的客户机-服务器方案。
下面,本人结合自己的学习经验,浅谈几种VB访问SQLServer数据库的方法。
1、VB访问SQLServer数据库的方法使用VB作为前端的开发语言,访问SQLServer数据库接口通常会使用以下几种方法:①RDO;②DAO/Jet;③ADO;④使用SQLServer的VB库即VBSQL 为DB库API编程;⑤用ODBCAPI编程等等。
2、实现方法2.1RDO访问SQLServer数据库RDO虽然是由DAO派生出来的,但是两者在数据库模式方面有较大差异。
DAO针对Records(记录)、Fields(字段),而RDO是针对Rows(行)、Columns (列),即DAO属于ISAM模式,RDO属于关系模式。
RDO是ODBC和VB连接的一种模式,和DAO不同的是,它提供了一个和ODBCAPI连接的、面向对象的抽象层,RDO运用数据库服务器和ODBCAPI 的驱动程序建立到数据库服务器的连接,同时,通过数据库服务器实现查询过程。
RDO的优点在于,其应用程序可以绕过本地查询程序的情况,直接访问到ODBC 的数据源。
ADO的这种模式比较适合开发客户-服务器程序。
使用VB数据控件访问数据库
使用VB数据控件访问数据库Visual Basic是一种功能强大的编程语言,它允许程序员使用数据控件访问数据库。
在本文中,我们将介绍如何使用VB数据控件来连接和操作数据库。
首先,我们需要使用VB的数据控件来建立与数据库的连接。
VB提供了多种数据控件,包括ADO控件(ActiveX Data Objects,ActiveX数据对象)、DAO控件(Data Access Objects,数据访问对象)和ODBC控件(Open Database Connectivity,开放数据库连接)等。
在这里,我们将使用ADO控件。
要使用ADO控件,我们首先需要将其添加到项目中。
打开VB的开发环境,选择"工具"->"选项"->"控件"选项卡。
在这里,我们可以看到可用的控件列表。
找到ADO控件并勾选它,然后点击"应用"和"确定"。
在VB的表单上添加一个数据控件(如ADODC控件),这个控件将用于建立与数据库的连接。
在属性窗口中,我们可以设置连接字符串,选择需要连接的数据库,以及指定用户名和密码等。
可以使用连接字符串来指定连接的数据库类型和位置,如"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\mydatabase.mdb;User Id=admin;Password=;"一旦连接到数据库,我们就可以使用数据控件来执行各种数据库操作,如查询、插入、更新和删除等。
数据控件提供了一些方法和属性,可以轻松地执行这些操作。
此外,我们还可以使用数据控件的AddNew方法和Update方法来插入和更新数据库记录。
例如,我们可以使用Recordset.AddNew方法添加一条新的记录,然后使用Recordset.Update方法将更改保存到数据库中。
当我们完成对数据库的操作后,我们需要关闭数据库连接。
VB访问Access数据库
技术 3在标签框中显示数据表中的数据 建立如图54所示:
技术
命令按钮显示mand1和退出mand2的事件处理过程代码如下: Private Sub mand1_Click
Dim conn As New ADODB Connection Dim rs As New ADODB Recordset conn ConnectionString="Provider=Microsoft ACE OLEDB 12 0 DATA Source="&App Path&"\cityaqi mdb" conn Open Set rs ActiveConnection=conn rs Open"SELECTFROM aqi" Text1 Text=rs Fields"地区" Text2 Text=rs Fields"aqi" Text3 Text=rs Fields"等级" rs Close conn Close Set rs=Nothing Set conn=Nothing End Sub Private Sub mand2_Click End End Sub
conn Open Set rs ActiveConnection=conn rs Open"SELECTFROM aqi" Text1 Text=rs Fields"地区" Text2 Text=rs Fields"aqi" Text3 Text=rs Fields"等级" rs Close conn Close Set rs=Nothing Set conn=Nothing
Text3 Text=rs Fields"等级"
文献翻译-VB程序访问数据库的两种途径
附录1 外文翻译VB程序访问数据库的两种途径VB是Microsoft公司开发的一种面向对象的编程语言。
虽然VB不是数据库管理系统软件,但由于他提供了功能强大的数据库访问支持,使用他可以快速开发出数据库应用系统。
由于他还具有简单易学、可视化编程等优点,得到了许多数据库开发者的青睐。
开发数据库应用系统必须遵循特定的数据库访问接口,从而建立数据库连接,打开数据库的数据表,访问数据记录等。
VB程序访问数据库有两种途径:(1)使用数据控件访问数据库VB 6内置了Jet数据库引擎提供的数据访问功能。
VB提供的"数据控件"封装了常用的访问数据库所需的属性、方法和事件,是快速开发数据库应用系统的得力助手。
数据控件提供了快速处理各种格式数据库的能力,开发者不必了解数据库的具体构造和复杂的编程接口就能方便有效地访问数据库中的数据,从而极大地降低了数据库应用系统的开发难度,加快了开发周期。
在使用数据控件访问数据库时,一般只需设置数据控件的某些属性就可以了。
使用数据控件的基本技巧如下:①设置数据控件的Data Name属性Data Name属性指定了数据控件要连接的数据库名称。
利用DataName属性,可以返回或设置数据控件的数据源的名称和位置。
数据库类型有DataName所指向的文件或目录指定。
②设置数据控件的Record Source属性Record Source属性指定了数据控件要连接的数据表名称,该数据表应是Data Name所指定的数据库中的某个数据表。
利用Record Source属性,可以指定数据控件所要连接的数据记录来源。
③设置数据感知控件的Data Source属性数据感知控件用来显示数据库中的数据,如文本框控件(TextBoxContr01)就是一个数据感知控件。
应将数据感知控件的Data Source属性设置为数据控件的名称。
这样一来,数据感知控件就可以显示数据库中的数据了。
④设置数据感知控件的Data Field属性Data Field属性指定了数据感知控件要显示的字段,该字段应是数据控件所指定的数据表中的字段。
VB6.0数据库访问技术与例程解析
VB6.0数据库访问技术与例程解析下面介绍一个实例,来消化以上的相关知识。
这里我在一个程序界面下实现了DAO,ADO,ODBC,OLEDB四种数据库访问方式。
程序代码分析:'整个程序功能是选择不同的连接方式来进行显示工作,三种方式显示效果完全相同'下面是主程序过程Private Sub Command1_Click()Dim selitem As Integer'判断连接数据库的方式If Option1.Value = True Then ‘DAOselitem = 1ElseIf Option2.Value = True Then ‘ADOselitem = 2Elseselitem = 3End IfEnd If'选取不同的数据库连接方式Select Case selitemCase 1:'使用DAO的数据库连接方式Call ShowByDAOCase 2:'使用ADO的数据库连接方式Call ShowByADOCase 3:'使用ODBC的数据库连接方式Call ShowByODBCCase 4:'使用OLEDB的数据库连接方式Call ShowByOLEDBEnd SelectEnd SubPrivate Sub ShowByDAO()'使用DAO的数据库连接方式Dim db As DatabaseDim rs As RecordsetDim sqlstr$ '存放查询语句Set db = OpenDatabase(App.Path & "\db1.mdb") sqlstr = "select * from 成绩表"Set rs = db.OpenRecordset(sqlstr)'显示结果Call GridShow(rs)End SubSub ShowByADO()Dim conn As New ADODB.ConnectionDim rs As New ADODB.Recordset'使用数据源来连接数据库conn.Open "dsn=data"rs.CursorType = adOpenKeysetrs.LockType = adLockOptimisticrs.Open "select * from 成绩表", connCall GridShowOfADO(rs)End SubSub ShowByODBC()Dim conn As New ADODB.ConnectionDim rs As New ADODB.Recordset'使用数据源来连接数据库conn.Open "Provider=MSDASQL.1;Persist Security Info=False;Data Source=data"rs.Open "select * from 成绩表", conn'显示结果Call GridShowOfADO(rs)End SubSub ShowByOLEDB()Dim conn As New ADODB.ConnectionDim rs As New ADODB.Recordset'使用数据源来连接数据库conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path & "\db1.mdb" + ";Persist Security Info=False"rs.Open "select * from 成绩表", conn'显示结果Call GridShowOfADO(rs)End SubSub GridShow(rs As Recordset)'对dao方式进行显示工作MSFlexGrid1.TextMatrix(0, 0) = "姓名" MSFlexGrid1.TextMatrix(0, 1) = "性别" MSFlexGrid1.TextMatrix(0, 2) = "语文" MSFlexGrid1.TextMatrix(0, 3) = "数学" MSFlexGrid1.TextMatrix(0, 4) = "英语"rs.MoveLastMSFlexGrid1.Rows = rs.RecordCount + 1 MSFlexGrid1.Cols = rs.Fields.CountDim i%i = 1rs.MoveFirstWhile (Not rs.EOF)MSFlexGrid1.TextMatrix(i, 0) = rs.Fields(0) MSFlexGrid1.TextMatrix(i, 1) = rs.Fields(1) MSFlexGrid1.TextMatrix(i, 2) = rs.Fields(2) MSFlexGrid1.TextMatrix(i, 3) = rs.Fields(3) MSFlexGrid1.TextMatrix(i, 4) = rs.Fields(4) rs.MoveNexti = i + 1'If (rs.EOF = True) Then' Exit ForWendEnd SubSub GridShowOfADO(rs As ADODB.Recordset)'对ado方式进行显示工作MSFlexGrid1.TextMatrix(0, 0) = "姓名"MSFlexGrid1.TextMatrix(0, 1) = "性别"MSFlexGrid1.TextMatrix(0, 2) = "语文"MSFlexGrid1.TextMatrix(0, 3) = "数学"MSFlexGrid1.TextMatrix(0, 4) = "英语"'注意recordcount属性必须在当前记录指针在最后一条记录时才会返回正确的值rs.MoveLastMSFlexGrid1.Rows = rs.RecordCount + 1MSFlexGrid1.Cols = rs.Fields.CountDim i%i = 1rs.MoveFirstWhile (Not rs.EOF)MSFlexGrid1.TextMatrix(i, 0) = rs.Fields(0)MSFlexGrid1.TextMatrix(i, 1) = rs.Fields(1)MSFlexGrid1.TextMatrix(i, 2) = rs.Fields(2)MSFlexGrid1.TextMatrix(i, 3) = rs.Fields(3)MSFlexGrid1.TextMatrix(i, 4) = rs.Fields(4)rs.MoveNexti = i + 1WendEnd SubPrivate Sub Command2_Click()EndEnd Sub。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要:本文介绍了几种Visual Basic访问数据库的方法,对这些数据接口的性能进行了比较,并提出相互的转化关系。
1VB访问数据库的方法VB访问数据库的方法很多,一般情况下分成两大类,而每一类又有很多方法。
下面以列表的方式列出每一类,及每一类包含的方法。
1.1接口对象法(API)VBSQL:通过DB-Library访问微软的SQL Server。
ODBC API:任何一种ODBC数据源16位和32位。
DAO/Jet:本地的Jet/Access.MDB、顺序索引数据库(ISAM)和任何ODBC数据源。
DAO/ODBC Direct:任何一种ODBC数据源(经过RDO)。
RDO2.0:任何一种ODBC数据源(LevelⅠ或Ⅱ)。
ADO:任何一种ODBC数据源和任何经过OLE DB界面接口的数据源。
1.2数据控件法Data Control:DAO/Jet数据界面接口。
Data Control/ODBC Direct:DAO/ODBC Direct数据界面接口。
RemoteData Control/RDC:RDO数据界面接口。
Advanced Data Connector/ADC:ADO数据界面接口。
2几种接口的比较ADC(Advanced Data Connector):高级数据连接器。
提供绑定ADO数据源到窗体的数据绑定控件上。
ADC主要是一种直接访问或者通过ADO访问远程OLE DB对象的一种技术,它也支持主要应用在微软IE浏览器上的数据绑定控件。
它是特地为Web上的浏览器为基础的应用程序而设计的。
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通过其内部的属性和方法提供统一的数据访问接口方法。
DAO(Data Access Objects):数据访问对象。
是一种面向对象的界面接口。
通过DAO/Jet 功能可以访问ISAM数据库,使用DAO/ODBC Direct功能可以实现远程RDO功能。
使用DAO 的程序编码非常简单,DAO提供丰富的游标(Cursor)类型的结果集和非游标(Cursor-Less)类型的结果集,同DDL(数据描述语言)的功能很类似。
DAO可通过ODBC像直接连接到其它数据库一样,直接连接到Access数据库。
DAO最适用于单系统应用程序或小范围本地分布使用。
DAO模型是设计关系数据库系统结构的对象类的集合。
它们提供了完成管理这样一个系统所需的全部操作的属性和方法,包括创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等工具。
JET(Joint Engine Technology):数据连接性引擎技术。
是一种基于工作站通过DAO 的数据库访问机制。
虽然可以通过微软Access提供的ODBC驱动程序访问Jet数据库,但使用这些驱动程序在功能上有所限制。
Jet机制有自己的查询和结果集处理功能,并可对同种或异种数据源作查询处理。
0DBC(Open Database Connectivity):开放式的数据库连接技术。
为异种数据库的访问提供了统一的接口。
ODBC基于SQL(Structured Query Language),并把它作为访问数据库的标准。
这个接口提供了最大限度的相互可操作性:一个应用程序可以通过一组通用的代码访问不同的数据库管理系统。
一个软件开发者开发的客户/服务器应用程序不会被束定于某个特定的数据库之上。
ODBC可以为不同的数据库提供相应的驱动程序,是一种公认的关系数据源的接口界面。
它快而轻并且提供统一接口的界面,ODBC对任何数据源都未作优化。
ODBC API:数据库厂商为程序设计者提供的直接访问数据库的一组函数。
注意:这里要指出的是,虽然ODBC API提供了很多很方便而且强大的功能。
但是通常来说ODBC API都比较难学,而且使用很容易出错。
虽然允许用ODBC API来操作ODBC句柄,但还是要小心,如果不正确地使用ODBC API,可能会导致不可预知的错误。
例如,假如使用ODBC API代码来关闭连接或释放这些ODBC句柄中的任何一个,那么RemoteData控件或RDO的行为将是不可预知的。
保存ODBC句柄以供备用也是没有意义的,因为它们是可变的。
ODBC Direct:是一种基于DAO对象的新的DAO模式,其方法和属性与RDO功能相同。
使用在有DAO代码存在的场合,可用来访问远程数据源。
OLE DB:是COM模型的数据库接口。
是一种底层数据访问界面接口。
是用于第三方驱动程序商家开发输出数据源到ADO技术的应用程序或用于C++的开发者开发定制的数据库组件。
它能够处理任何类型的数据。
OLE DB向应用程序提供一个统一的数据访问方法,而不考虑它们的格式和存储方法。
在实际应用中,这种多样性意味着可以访问驻留在电子数据表、文本文件甚至邮件服务器,诸如Microsoft Exchang中的数据。
OLE DB不能被VB直接调用。
RDC(RemoteData Control):远程数据访问控件。
是一种对RDO数据绑定的控件。
可以输出特定的结果集到数据源控件。
RDO(Remote Data Objects):远程数据对象。
是一个到ODBC的、面向对象的数据访问接口,远程数据对象和集合为使用代码来创建和操作一个远程ODBC数据库系统的各个部件提供了一个框架。
对象和集合都具有描述数据库的各个部件特征的属性以及用来操作这些部件的方法。
可以在对象和集合之间建立起关系,这些关系就代表了数据库系统的逻辑结构。
它同易于使用的DAO style组合在一起,提供了1个接口,形式上展示出所有ODBC的底层功能和灵活性。
RDO是ODBC API的一个浅层界面接口。
是专为访问远程ODBC关系数据源而设计的。
尽管RDO在访问Jet或ISAM数据库方面受到限制,而且它只能通过现存的ODBC驱动程序来访问关系数据库。
但是,RDO已被证明是许多SQL Server、Oracle以及其他大型关系数据库开发者经常选用的最佳接口。
RDO提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性以及方法。
VBSQL:是Visual Basic结构化查询语言。
是一种基于API的接口方法,几乎与C的DB-Library API相同。
VBSQL只支持微软的SQL Server。
VBSQL快而且轻但不支持对象界面。
3性能比较及应用说明用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包含在VB4.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的应用将逐渐减少。
至于实际使用哪一种接口方式,在很大程度上依赖于用户的应用程序的具体情况而定。
4VB访问数据库的原则应用VB访问数据库时,要具体问题具体分析,根据具体的环境、条件、要求而采用适当的方案,就应注意以下几个原则:4.1代码的重用和运行的效率例如:通过使用ODBC数据源连接数据库的方法,可在变换多种数据库类型的情况下,而不用频繁修改代码。
用VBSQL通过DB-Library就做不到。
而ODBC接口并不是VB访问数据库运行效率最高的方法。
同样,同是使用ODBC接口的ADO的效率要高于RDO。
4.2实现的简便性,易维护性如果一种方法实现起来很复杂,工程的开发必然造成人力物力的浪费,同时这样设计出来的应用程序只会支持起来更复杂或维护时更困难。
例如:本地需要访问ISAM或Jet类型数据源,那么就使用DAO/Jet,而没有必要使用通过ODBC的方法。
RDC实现起来要较RDO 更容易。
4.3安全性原则这一条应根据环境和条件决定。
例如局域网的网络安全性要好于广域网因而可直接利用数据控件如RDC,这样实现起来方便快捷,而广域网需要大量的错误捕获,如用RDC就不如用RDO易控制错误。
5结束语在数据访问接口中DAO最适用于单系统应用程序或小范围本地分布使用,而RDO已被证明是许多SQL Server、Oracle以及其它大型关系数据库开发者经常选用的最佳接口。
ADO 是DAO/RDO的后继产物。
ADO2.0在功能上与RDO更相似,而且一般来说,在这2种模型之间有一种相似的映射关系。
ADO“扩展”了DAO和RDO所使用的对象模型,这意味着它包含较少的对象、更多的属性、方法和参数,以及事件。