Access数据库VBA数据库编程课件.ppt

上传人(卖家):三亚风情 文档编号:3376322 上传时间:2022-08-25 格式:PPT 页数:35 大小:951KB
下载 相关 举报
Access数据库VBA数据库编程课件.ppt_第1页
第1页 / 共35页
Access数据库VBA数据库编程课件.ppt_第2页
第2页 / 共35页
Access数据库VBA数据库编程课件.ppt_第3页
第3页 / 共35页
Access数据库VBA数据库编程课件.ppt_第4页
第4页 / 共35页
Access数据库VBA数据库编程课件.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、数据库原理及应用(Access2003)第第9章章 VBA数据库编程数据库编程 第9章 VBA数据库编程9.1 数据库引擎及其接口数据库引擎及其接口9.2 数据访问对象数据访问对象 9.2.1 DAO模型结构模型结构 9.2.2 主要的主要的DAO对象对象 9.2.3 利用利用DAO访问数据库访问数据库 9.3 ActiveX数据对象数据对象 9.3.1 ADO模型结构模型结构 9.3.2 主要主要ADO对象的使用对象的使用 9.3.3利用利用ADO访问数据库访问数据库 第9章 VBA数据库编程概要介绍:概要介绍:前面已经介绍了模块和前面已经介绍了模块和VBAVBA程序设计基础知识,包程序设计

2、基础知识,包括括VBAVBA面向对象程序设计初步知识。实际上,要想快速、面向对象程序设计初步知识。实际上,要想快速、有效地管理好数据,开发出更具实用价值的有效地管理好数据,开发出更具实用价值的 Access Access 数据库应用程序,还应当了解和掌握数据库应用程序,还应当了解和掌握 VBA VBA 的数据库编的数据库编程方法。程方法。本章我们首先介绍数据库访问接口,然后介绍本章我们首先介绍数据库访问接口,然后介绍AccessAccess支持的支持的DAODAO和和ADOADO两种数据库编程方法。两种数据库编程方法。9.1 数据库引擎及其接口数据库引擎及其接口 VBAVBA是通过是通过Mic

3、rosoft JetMicrosoft Jet数据库引擎工具来支持对数据库的数据库引擎工具来支持对数据库的访问。所谓数据库引擎访问。所谓数据库引擎 实际上是一组动态链接库(实际上是一组动态链接库(DLL)DLL),当程序运行时被链接到,当程序运行时被链接到 VBA VBA 程序而实现对数据库的数据访问功能。数据库引擎是应程序而实现对数据库的数据访问功能。数据库引擎是应用程序与物理数据库之间的桥梁,它以一种通用接口的方式用程序与物理数据库之间的桥梁,它以一种通用接口的方式,使各种类型物理数据库对用户而言都具有统一的形式和相同使各种类型物理数据库对用户而言都具有统一的形式和相同的数据访问与处理方法

4、。的数据访问与处理方法。9.1 数据库引擎及其接口数据库引擎及其接口 在在VBAVBA中主要提供了中主要提供了3 3种数据库访问接口:种数据库访问接口:(1 1)开放数据库互连应用编程接口()开放数据库互连应用编程接口(Open Database Open Database Connectivity APIConnectivity API,ODBC APIODBC API)。目前)。目前 Windows Windows 提供的提供的 32 32 位位 ODBC ODBC 驱动程序对每一种客户驱动程序对每一种客户/服务器服务器 关系型数据库管理系关系型数据库管理系统、最流行的索引顺序访问方法(统

5、、最流行的索引顺序访问方法(ISAMISAM)数据库()数据库(JetJet、dBasedBase、Foxbase Foxbase 和和 FoxProFoxPro)、扩展表()、扩展表(ExcelExcel)和定界文本文件都)和定界文本文件都可以操作。在可以操作。在 Access Access 应用中,直接使用应用中,直接使用 ODBC APIODBC API需要大量需要大量VBAVBA函数原型声明(函数原型声明(DeclareDeclare)和一些繁琐、低级的编程,因此)和一些繁琐、低级的编程,因此,实际编程很少直接进行,实际编程很少直接进行 ODBC APIODBC API的访问。的访问。

6、(2 2)数据访问对象()数据访问对象(Data Access ObjectsData Access Objects,DAODAO)。)。DAO DAO 提供一提供一个访问数据库的对象模型。利用其中定义的一系列数据访问对个访问数据库的对象模型。利用其中定义的一系列数据访问对象,例如,象,例如,DatabaseDatabase、QueryDefQueryDef、RecordSet RecordSet 等对象,实现对等对象,实现对数据库的各种操作。数据库的各种操作。9.1 数据库引擎及其接口数据库引擎及其接口(3 3)ActiveActive数据对象(数据对象(ActiveX Data Objec

7、tsActiveX Data Objects,ADOADO)。)。ADOADO是基是基于组件的数据库编程接口,是一个和编程语言无关的于组件的数据库编程接口,是一个和编程语言无关的 COM COM 组件组件系统。使用它可以方便地连接任何符合系统。使用它可以方便地连接任何符合 ODBC ODBC 标准的数据库。标准的数据库。ADOADO支持的数据资源范围比支持的数据资源范围比DAODAO广泛。广泛。9.1 数据库引擎及其接口数据库引擎及其接口 VBAVBA通过数据库引擎可以访问的数据库有以下通过数据库引擎可以访问的数据库有以下3 3种类型。种类型。(1 1)本地数据库:即)本地数据库:即Acces

8、sAccess数据库。数据库。(2 2)外部数据库:指所有的索引顺序访问方法()外部数据库:指所有的索引顺序访问方法(ISAMISAM)数据库。)数据库。(3 3)ODBCODBC数据库:符合开放数据库连接(数据库:符合开放数据库连接(ODBCODBC)标准的客户)标准的客户/服服务器数据库,例如,务器数据库,例如,OracleOracle、Microsoft SQL ServerMicrosoft SQL Server等。等。9.2 数据访问对象数据访问对象 数据访问对象(数据访问对象(DAODAO)包含了很多对象和集合,通过)包含了很多对象和集合,通过JetJet引擎引擎来连接来连接Acc

9、essAccess数据库和其他的数据库和其他的ODBCODBC数据库。数据库。DAODAO模型为进行数据库编程提供了需要的属性和方法。利用模型为进行数据库编程提供了需要的属性和方法。利用DAODAO可以完成对数据库的创建,如创建表、字段和索引,完成可以完成对数据库的创建,如创建表、字段和索引,完成对记录的定位和查询以及对数据库的修改和删除等。对记录的定位和查询以及对数据库的修改和删除等。数据访问对象完全在代码中运行,使用代码操纵数据访问对象完全在代码中运行,使用代码操纵JetJet引擎访问引擎访问数据库数据,能够开发出更强大更高效的数据库应用程序。数据库数据,能够开发出更强大更高效的数据库应用

10、程序。使用数据访问对象开发应用程序,使数据访问更有效,同时使用数据访问对象开发应用程序,使数据访问更有效,同时对数据的控制更灵活更全面,给程序员提供了广阔的发挥空对数据的控制更灵活更全面,给程序员提供了广阔的发挥空间。间。9.2 数据访问对象数据访问对象 有图所示为有图所示为DAODAO模型分模型分层结构简图。层结构简图。9.2.1 DAO9.2.1 DAO模型结构模型结构9.2 数据访问对象数据访问对象 DAODAO对象模型是一个分层的树型结构,它包含了一个复杂对象模型是一个分层的树型结构,它包含了一个复杂的可编程数据关联对象的层次,其中的可编程数据关联对象的层次,其中DBEngineDBE

11、ngine对象处于对象处于最顶层,它是模型中唯一不被其它对象所包含的数据库最顶层,它是模型中唯一不被其它对象所包含的数据库引擎本身。层次低的一些对象,如引擎本身。层次低的一些对象,如Workspace(s)Workspace(s)、Database(s)Database(s)、QueryDef(s)QueryDef(s)、RecordSet(s)RecordSet(s)和和 Field(s)Field(s)是是DBEngineDBEngine对象下的对象层,其下的各种对象对象下的对象层,其下的各种对象分别对应被访问的数据库的不同部分。在程序中设置对分别对应被访问的数据库的不同部分。在程序中设置

12、对象变量,并通过对象变量来调用访问对象方法、设置访象变量,并通过对象变量来调用访问对象方法、设置访问对象属性,这样就实现了对数据库的各种访问操作。问对象属性,这样就实现了对数据库的各种访问操作。9.2.1 DAO9.2.1 DAO模型结构模型结构9.2 数据访问对象数据访问对象1.DBEngine1.DBEngine对象对象在在DAODAO的分层结构中可以看到,的分层结构中可以看到,DBEngineDBEngine对象是顶层对象,它包含对象是顶层对象,它包含了其他所有的数据访问对象和集合,是惟一不被其他对象所包含了其他所有的数据访问对象和集合,是惟一不被其他对象所包含的数据库访问对象,实际上,

13、的数据库访问对象,实际上,DBEngine DBEngine 对象就是对象就是 Jet Jet 数据库引数据库引擎本身。擎本身。DBEngineDBEngine对象包含一个对象包含一个WorkspaceWorkspace对象集合,该集合由一个或多个对象集合,该集合由一个或多个WorkspaceWorkspace对象组成。如果要建立一个新的对象组成。如果要建立一个新的 Workspace Workspace 对象,则对象,则应当使用应当使用 CreateWorkspace CreateWorkspace 方法。该方法的使用语法如下:方法。该方法的使用语法如下:Set myWsSet myWsDB

14、Engine.CreateWorkspaces(name,user,password,type)DBEngine.CreateWorkspaces(name,user,password,type)9.2.2 9.2.2 主要的主要的DAODAO对象对象 9.2 数据访问对象数据访问对象 其中,其中,myWsmyWs是一个是一个WorkspaceWorkspace对象。对象。namename指定工作区的名字。指定工作区的名字。useruser设置该工作区的用户名。设置该工作区的用户名。password password 是使用者的密码。是使用者的密码。type type 是用于确定即将创建的是用

15、于确定即将创建的 Workspace Workspace 对象的类型的可选参数,使对象的类型的可选参数,使用用 DAO DAO 可以创建两种类型的可以创建两种类型的 Workspace Workspace 对象,即对象,即 Jet Jet 型和型和 ODBC ODBC 型,对应这两种类型的常量分别是:型,对应这两种类型的常量分别是:dbUseJet dbUseJet 和和 dbUseODBCdbUseODBC。Dim ws1 As WorkspaceDim ws1 As Workspace Set ws1=DBEngine.CreateWorkspaces(ws1,zyySet ws1=DBE

16、ngine.CreateWorkspaces(ws1,zyy,)9.2.2 9.2.2 主要的主要的DAODAO对象对象 9.2 数据访问对象数据访问对象2.Workspace2.Workspace对象对象在在DBEngineDBEngine对象中有一个对象中有一个WorkspaceWorkspace对象集合,该集合包含了当对象集合,该集合包含了当前可使用的前可使用的Workspace Workspace 对象。对象。WorkspaceWorkspace为用户定义了一个有为用户定义了一个有名字的会话区。名字的会话区。WorkspaceWorkspace对象定义了使用何种方式与连接数对象定义了使

17、用何种方式与连接数据。在据。在DAODAO中,可以使用中,可以使用Microsoft JetMicrosoft Jet引擎或引擎或 ODBCDirectODBCDirect中中的任意一种,视数据源而定,而连接方式的实现,则可以通过的任意一种,视数据源而定,而连接方式的实现,则可以通过Workspace Workspace 对象来定义。对象来定义。Workspace Workspace 对象还提供了事务处理,对象还提供了事务处理,为保证数据库的完整性提供了支持。引用为保证数据库的完整性提供了支持。引用 Workspace Workspace 对象的对象的通常方法是使用通常方法是使用 Worksp

18、aces Workspaces 集合,对象在集合中的索引从集合,对象在集合中的索引从0 0开始。在开始。在 Workspaces Workspaces 集合中引用对象,既可以通过在集合中集合中引用对象,既可以通过在集合中的索引来引用,也可以通过对象的名字来引用。的索引来引用,也可以通过对象的名字来引用。9.2.2 9.2.2 主要的主要的DAODAO对象对象 9.2 数据访问对象数据访问对象3.Database3.Database对象对象使用使用DAODAO编程,编程,DatabaseDatabase对象及其包含的对象集是最常用的。对象及其包含的对象集是最常用的。DatabaseDatabas

19、e对象代表了一个打开的数据库,所有对数据库的对象代表了一个打开的数据库,所有对数据库的操作都必须先打开数据库。操作都必须先打开数据库。WorkspaceWorkspace对象包含一个对象包含一个Database Database 对象集合,该对象集合包含了若干个对象集合,该对象集合包含了若干个 Database Database 对象。对象。DatabaseDatabase对象包含对象包含TableDefTableDef、QueryDefQueryDef、ContainerContainer、RecordsetRecordset和和Relation 5Relation 5个对象集合。个对象集合

20、。使用使用DatabaseDatabase对象,可以定义一个对象,可以定义一个DatabaseDatabase变量,也可以通过变量,也可以通过WorkspaceWorkspace对象中的对象中的Database Database 对象集来引用。使用对象集来引用。使用 CreateDatabase CreateDatabase 方法和方法和 OpenDatabase OpenDatabase 方法将返回一个数方法将返回一个数据库对象,同时该数据库对象自动添加到据库对象,同时该数据库对象自动添加到 Database Database 对象对象集合中。集合中。9.2.2 9.2.2 主要的主要的DA

21、ODAO对象对象 9.2 数据访问对象数据访问对象3.Database3.Database对象对象使用使用DAODAO编程,编程,DatabaseDatabase对象及其包含的对象集是最常用的。对象及其包含的对象集是最常用的。DatabaseDatabase对象代表了一个打开的数据库,所有对数据库的操作对象代表了一个打开的数据库,所有对数据库的操作都必须先打开数据库。都必须先打开数据库。WorkspaceWorkspace对象包含一个对象包含一个Database Database 对象对象集合,该对象集合包含了若干个集合,该对象集合包含了若干个 Database Database 对象。对象。

22、DatabaseDatabase对对象包含象包含TableDefTableDef、QueryDefQueryDef、ContainerContainer、RecordsetRecordset和和Relation 5Relation 5个对象集合。个对象集合。使用使用DatabaseDatabase对象,可以定义一个对象,可以定义一个DatabaseDatabase变量,也可以通过变量,也可以通过WorkspaceWorkspace对象中的对象中的Database Database 对象集来引用。使用对象集来引用。使用 CreateDatabase CreateDatabase 方法和方法和 O

23、penDatabase OpenDatabase 方法将返回一个数据方法将返回一个数据库对象,同时该数据库对象自动添加到库对象,同时该数据库对象自动添加到 Database Database 对象集合中对象集合中。9.2.2 9.2.2 主要的主要的DAODAO对象对象 9.2 数据访问对象数据访问对象说明:说明:在使用在使用DatabaseDatabase变量时,应当使用变量时,应当使用SetSet关键字为该变量赋值。关键字为该变量赋值。DatabaseDatabase对象的常用方法如下:对象的常用方法如下:(1 1)CreateQueryDefCreateQueryDef方法方法该方法可创

24、建一个新的查询对象。其使用语法如下:该方法可创建一个新的查询对象。其使用语法如下:Set querydef=database.CreateQueryDef(name,sqltext)Set querydef=database.CreateQueryDef(name,sqltext)如果如果namename参数不为空,表明建立一个永久的查询对象;若参数不为空,表明建立一个永久的查询对象;若namename参参数为空,则会创建一个临时的查询对象。数为空,则会创建一个临时的查询对象。sqltext sqltext 参数是一个参数是一个 SQL SQL 查询命令。查询命令。9.2.2 9.2.2 主要

25、的主要的DAODAO对象对象 9.2 数据访问对象数据访问对象(2 2)CreateTableDefCreateTableDef方法方法该方法用于创建一个该方法用于创建一个TableDefTableDef对象。其语法格式如下:对象。其语法格式如下:Set table=Set table=database.CreateTableDef(name,attribute,source,connecdatabase.CreateTableDef(name,attribute,source,connect)t)其中,其中,tabletable是之前已经定义的表类型的变量。是之前已经定义的表类型的变量。da

26、tabasedatabase是数是数据库类型的变量,它将包含新建的表。据库类型的变量,它将包含新建的表。name name 是设定新建表是设定新建表的名字。的名字。attribute attribute 用来指定新创建表的特征。用来指定新创建表的特征。sourcesource用来用来指定外部数据库表的名字。指定外部数据库表的名字。connect connect 字符串变量包含一些数字符串变量包含一些数据库源信息。最后据库源信息。最后3 3个参数在访问部分数据库表时才会用到个参数在访问部分数据库表时才会用到,一般可以默认这几项。,一般可以默认这几项。9.2.2 9.2.2 主要的主要的DAODA

27、O对象对象 9.2 数据访问对象数据访问对象(3 3)ExecuteExecute方法方法该方法执行一个动作查询。该方法执行一个动作查询。(4 4)OpenRecordsetOpenRecordset方法方法该方法创建一个新的该方法创建一个新的 Recordset Recordset 对象,并自动将该对象添加到对象,并自动将该对象添加到Database Database 对象的对象的Recordset Recordset 记录集合中去。其使用语法如下记录集合中去。其使用语法如下Set Set recordset=database.OpenRecordset(source,type,option

28、s,recordset=database.OpenRecordset(source,type,options,lockedits)lockedits)其中,其中,sourcesource是记录集的数据源,可以是该数据库对象对应数是记录集的数据源,可以是该数据库对象对应数据库的表名,也可以是据库的表名,也可以是SQL SQL 查询语句。如果查询语句。如果 SQL SQL 查询返回若查询返回若干个记录集,使用干个记录集,使用 Recordset Recordset 对象的对象的 NextRecordsetNextRecordset方法来方法来访问各个返回的记录集。访问各个返回的记录集。9.2.2

29、9.2.2 主要的主要的DAODAO对象对象 9.2 数据访问对象数据访问对象type type 指定新建的指定新建的 Recordset Recordset 对象的类型,共有以下几种类型:对象的类型,共有以下几种类型:dbOpenTable dbOpenTable 表类型。表类型。dbOpenDynaset dbOpenDynaset 动态集类型。动态集类型。dbOpenSnapshot dbOpenSnapshot 快照类型。快照类型。dbOpenForwardOnly dbOpenForwardOnly 仅向前类型。仅向前类型。dbOpenDynamic dbOpenDynamic 动态

30、类型。动态类型。一般如果一般如果sourcesource是本地表,则是本地表,则typetype的默认值为表类型。的默认值为表类型。9.2.2 9.2.2 主要的主要的DAODAO对象对象 9.2 数据访问对象数据访问对象optionsoptions指定新建的指定新建的RecordsetRecordset对象的一些特性,常用的有以对象的一些特性,常用的有以下几种:下几种:dbAppendOnly dbAppendOnly 只允许对打开表中的记录进行添加,不允只允许对打开表中的记录进行添加,不允许删除或修改记录。这个特性只能在动态集类型中使用。许删除或修改记录。这个特性只能在动态集类型中使用。d

31、bReadOnly dbReadOnly 只读特性,赋予此特性后,用户不能对记录只读特性,赋予此特性后,用户不能对记录进行修改或删除。进行修改或删除。DbSeeChanges DbSeeChanges 如果一个用户要修改另一个正在编辑的数如果一个用户要修改另一个正在编辑的数据,则产生错误。据,则产生错误。dbDenyWrite dbDenyWrite 禁止其他用户修改或添加表中的记录。禁止其他用户修改或添加表中的记录。dbDenyRead dbDenyRead 禁止其他用户读表中记录。禁止其他用户读表中记录。lockeditslockedits控制对记录的锁定,一般可以忽略。控制对记录的锁定,

32、一般可以忽略。9.2.2 9.2.2 主要的主要的DAODAO对象对象 9.2 数据访问对象数据访问对象(5 5)CloseClose方法方法 该方法将数据库对象从数据库集合中移去。如果在数据库该方法将数据库对象从数据库集合中移去。如果在数据库对象中,有打开的记录集对象,使用该方法会自动关闭记对象中,有打开的记录集对象,使用该方法会自动关闭记录集对象。录集对象。关闭数据库对象,也可以使用以下代码:关闭数据库对象,也可以使用以下代码:Set database=NothingSet database=Nothing9.2.2 9.2.2 主要的主要的DAODAO对象对象 9.2 数据访问对象数据访

33、问对象4.Recordset4.Recordset对象对象 RecordsetRecordset对象是记录集对象,它可以表示表中的记录对象是记录集对象,它可以表示表中的记录或表示一组查询的结果,要对表中的记录进行添加、删除或表示一组查询的结果,要对表中的记录进行添加、删除等操作,都要通过对等操作,都要通过对RecordsetRecordset对象进行操作来实现。对象进行操作来实现。Recordsets Recordsets 是包含多种类型的是包含多种类型的 Recordset Recordset 对象的集合。对象的集合。RecordsetRecordset对象有对象有5 5种类型,它们是:表、

34、动态集、快照种类型,它们是:表、动态集、快照、动态和仅向前,最常用的是前、动态和仅向前,最常用的是前 3 3 种。种。9.2.2 9.2.2 主要的主要的DAODAO对象对象 9.2 数据访问对象数据访问对象5.Field5.Field对象对象 数据库包含的每个表都有多个字段,每个字段是一个数据库包含的每个表都有多个字段,每个字段是一个FieldField对象对象。因此,在记录集。因此,在记录集RecordsetRecordset对象中有一个对象中有一个 Field Field 对象集合对象集合,即,即 FieldsFields,可以使用,可以使用 Field Field 对象对当前记录的某一

35、字段对象对当前记录的某一字段进行读取和修改。进行读取和修改。为了在为了在FieldsFields集合中标识某个集合中标识某个FieldField对象,通常使用以下格式:对象,通常使用以下格式:Fields(fieldname)Fields(fieldname)Field Field对象的对象的ValueValue属性是属性是FieldField对象的默认属性,用以返回或设对象的默认属性,用以返回或设置字段的值。由于该属性是置字段的值。由于该属性是FieldField对象的默认属性,因此在使对象的默认属性,因此在使用该属性时可以不必显式表示。用该属性时可以不必显式表示。9.2.2 9.2.2 主

36、要的主要的DAODAO对象对象 9.2 数据访问对象数据访问对象在在VBAVBA中使用中使用DAODAO,可以分以下几个步骤来操作:,可以分以下几个步骤来操作:(1 1)首先创建)首先创建WorkspaceWorkspace;(2 2)然后打开)然后打开DatabaseDatabase;(3 3)再创建记录集)再创建记录集RecordsetRecordset;(4 4)最后可以通过这一记录集的属性和方法来访问数据。)最后可以通过这一记录集的属性和方法来访问数据。9.2.3 9.2.3 利用利用DAODAO访问数据库访问数据库 9.3 ActiveX数据对象数据对象 ActiveXActiveX

37、数据对象(数据对象(ActiveX Data ObjectsActiveX Data Objects,ADOADO)是)是MicrosoftMicrosoft公司推出的一致数据访问技术(公司推出的一致数据访问技术(UDAUDA)中的一层接)中的一层接口。它比其他一些对象模型如口。它比其他一些对象模型如DAODAO(Data Access ObjectData Access Object)、RDORDO(Remote Data ObjectRemote Data Object)等具有更好的灵活性,使用)等具有更好的灵活性,使用更为方便,并且访问数据的效率更高。更为方便,并且访问数据的效率更高。A

38、DOADO是基于组件的数据库编程接口,它是一个和编程语言无关是基于组件的数据库编程接口,它是一个和编程语言无关的的COMCOM组件系统,可以对来自多种数据提供者的数据进行读取组件系统,可以对来自多种数据提供者的数据进行读取和写入操作。和写入操作。需要指出的是,在需要指出的是,在AccessAccess模块设计时要想使用模块设计时要想使用ADOADO的各个访问的各个访问对象,首先应该增加一个对对象,首先应该增加一个对 ADO ADO 库的引用。库的引用。9.3 ActiveX数据对象数据对象 ADOADO使用了与使用了与DAODAO相似的约定和特性,相似的约定和特性,ADOADO的对象模型定义了

39、的对象模型定义了一组可编程的自动化对象。一组可编程的自动化对象。与与DAODAO不同,不同,ADOADO对象无需派生,对象无需派生,大多数对象可以直接创建,没有对象的分级结构。大多数对象可以直接创建,没有对象的分级结构。ADOADO具有非具有非常简单的对象模型,包括以下常简单的对象模型,包括以下7 7个对象:个对象:ConnectionConnection、CommandCommand、ParameterParameter、RecordsetRecordset、FieldField、Property Property 和和 ErrorError。此外,还包含以下。此外,还包含以下4 4个集合:

40、个集合:FieldsFields、PropertiesProperties、ParametersParameters和和ErrorsErrors。在在ADOADO模型中,主体对象只有模型中,主体对象只有Connection Connection、Command Command 和和Recordset Recordset 等等3 3个,其他个,其他4 4个集合对象个集合对象ErrorsErrors、Properties Properties、ParametersParameters和和FieldsFields分别对应分别对应ErrorError、Property Property、Paramet

41、erParameter和和FieldField对象,整个对象,整个ADOADO对象模型由这些对象组成。对象模型由这些对象组成。9.3.1 ADO9.3.1 ADO模型结构模型结构 9.3 ActiveX数据对象数据对象 ADOADO的各组件对象之的各组件对象之间存在一定的联系,间存在一定的联系,如图如图9-69-6所示。了解所示。了解并掌握这些对象之间并掌握这些对象之间的联系形式和联系方的联系形式和联系方法是使用法是使用ADOADO的基础的基础。9.3.1 ADO9.3.1 ADO模型结构模型结构 9.3 ActiveX数据对象数据对象 ADOADO包括包括ConnectionConnecti

42、on、CommandCommand、ParameterParameter、RecordsetRecordset、FieldField、Property Property 和和 ErrorError等等7 7个对象,如表个对象,如表9-19-1所示。所示。9.3.2 9.3.2 主要主要ADOADO对象的使用对象的使用表表9-1 ADO对象对象对象对象说明说明Connection连接数据库连接数据库Command从数据源获取所需数据的命令信息,包含从数据源获取所需数据的命令信息,包含SQL语句语句Recordset所获取的一组记录组成的记录集所获取的一组记录组成的记录集Parameter包含包含

43、SQL语句参数语句参数Error在访问数据库时,由数据源所返回的错误信息在访问数据库时,由数据源所返回的错误信息Property包含包含ADO对象特性对象特性Field包含包含Recordset对象列(即记录集中某个字段的信息)对象列(即记录集中某个字段的信息)9.3 ActiveX数据对象数据对象 在在ADOADO模型中,主体对象只有模型中,主体对象只有Connection Connection、Command Command 和和Recordset Recordset 等等3 3个。个。1.Connection1.Connection对象对象 Connection Connection对象

44、用于建立与数据源的连接。在客户对象用于建立与数据源的连接。在客户/服务器结构服务器结构中,该对象实际上是表示了同服务器的实际的网络连接。中,该对象实际上是表示了同服务器的实际的网络连接。建立和数据库的连接是访问数据库的必要一步,建立和数据库的连接是访问数据库的必要一步,ADO ADO 打打 开开 连连 接接 的的 主主 要要 方方 法法 是是 通通 过过Connection Connection 对象来连接数据库对象来连接数据库,即使用,即使用 Connection.Open Connection.Open 方法。另外也可在同一操作中调方法。另外也可在同一操作中调用快捷方法用快捷方法 Reco

45、rdset.Open Recordset.Open 打开连接并在该连接上发出命打开连接并在该连接上发出命令。令。9.3.2 9.3.2 主要主要ADOADO对象的使用对象的使用9.3 ActiveX数据对象数据对象 2.Command2.Command对象对象通过已建立的连接发出的通过已建立的连接发出的“命令命令”可以以某种方式来操作数据源可以以某种方式来操作数据源。一般情况下,命令可以在数据源中添加、删除或更新数据。一般情况下,命令可以在数据源中添加、删除或更新数据,或者在表中以行的格式检索数据。,或者在表中以行的格式检索数据。CommandCommand对象体现命令概对象体现命令概念。念。

46、CommandCommand对象能够优化命令的执行。对象能够优化命令的执行。9.3.2 9.3.2 主要主要ADOADO对象的使用对象的使用9.3 ActiveX数据对象数据对象 3.Recordset3.Recordset记录集对象记录集对象ADO Recordset ADO Recordset 对象包含某个查询返回的记录以及那些记录中的对象包含某个查询返回的记录以及那些记录中的游标。我们可以不用显式地打开游标。我们可以不用显式地打开 Connection Connection 对象的情况下对象的情况下,打开一个,打开一个 RecordsetRecordset(例如,执行一个查询)。不过,如

47、(例如,执行一个查询)。不过,如果选择创建一个果选择创建一个 Connection Connection 对象,就可以在同一个连接上对象,就可以在同一个连接上打开多个打开多个 Recordset Recordset 对象。任何时候,对象。任何时候,Recordset Recordset 对象所指对象所指的当前记录均为集合内的单个记录。的当前记录均为集合内的单个记录。9.3.2 9.3.2 主要主要ADOADO对象的使用对象的使用9.3 ActiveX数据对象数据对象 一个典型的一个典型的ADOADO应用的步骤是首先使用应用的步骤是首先使用ConnectionConnection对象建立与数对象

48、建立与数据源的连接,然后用一个据源的连接,然后用一个CommandCommand对象给出对数据库操作的命对象给出对数据库操作的命令,比如查询数据等,用令,比如查询数据等,用RecordsetRecordset对结果集数据进行维护或对结果集数据进行维护或浏览等操作。对于关系型数据库,通常使用浏览等操作。对于关系型数据库,通常使用SQLSQL作为作为CommandCommand命令所使用的命令语言。命令所使用的命令语言。9.3.39.3.3利用利用ADOADO访问数据库访问数据库 9.3 ActiveX数据对象数据对象 在应用程序中添加了对在应用程序中添加了对ADOADO对象库的引用后,需先声明一

49、个对象库的引用后,需先声明一个ConnectionConnection对象变量,再生成一个对象变量,再生成一个ConnectionConnection对象的实例。例对象的实例。例如:如:Dim answ1 As ADODB.ConnectionDim answ1 As ADODB.Connection Set answ1=New ADODB.Connection Set answ1=New ADODB.Connection或者合二为一:或者合二为一:Dim answ1 As New ADODB.ConnectionDim answ1 As New ADODB.Connection使用使用ADO

50、ADO编程一般要按照以下几个步骤:编程一般要按照以下几个步骤:(1 1)定义和创建)定义和创建ADOADO对象实例变量;对象实例变量;(2 2)设置连接参数并打开连接)设置连接参数并打开连接ConnectionConnection;(3 3)设置命令参数并执行命令)设置命令参数并执行命令CommandCommand;(4 4)设置查询参数并返回记录集)设置查询参数并返回记录集RecordsetRecordset;(5 5)操作记录集(增加、删除、修改、查询);)操作记录集(增加、删除、修改、查询);(6 6)关闭、回收有关对象。)关闭、回收有关对象。9.3.39.3.3利用利用ADOADO访问

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Access数据库VBA数据库编程课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|