第8章-使用DAO访问数据库课件.ppt

上传人(卖家):三亚风情 文档编号:3020612 上传时间:2022-06-23 格式:PPT 页数:81 大小:392.50KB
下载 相关 举报
第8章-使用DAO访问数据库课件.ppt_第1页
第1页 / 共81页
第8章-使用DAO访问数据库课件.ppt_第2页
第2页 / 共81页
第8章-使用DAO访问数据库课件.ppt_第3页
第3页 / 共81页
第8章-使用DAO访问数据库课件.ppt_第4页
第4页 / 共81页
第8章-使用DAO访问数据库课件.ppt_第5页
第5页 / 共81页
点击查看更多>>
资源描述

1、第8章 使用DAO访问数据库第8章 使用DAO访问数据库8.1 DAO层次结构层次结构8.2 DAO对象对象8.3 DAO编程实例编程实例8.1 DAO8.1 DAO层次结构层次结构DAO提供两种不同的编程模型结构:提供两种不同的编程模型结构:Microsoft Jet Workspaces DAO模型模型ODBC Direct Workspaces DAO模型。模型。数据访问对象模型是数据访问对象模型是Jet为数据库引擎的面向对为数据库引擎的面向对象的接口。由一系列数据库对象和对象的集合象的接口。由一系列数据库对象和对象的集合按一定的层次结构组成。其层次结构和关系数按一定的层次结构组成。其层

2、次结构和关系数据库的逻辑视图相符合。数据访问对象类以分据库的逻辑视图相符合。数据访问对象类以分层结构来组织,其中的大多数类属于集合类。层结构来组织,其中的大多数类属于集合类。在分层结构中,它又属于其上层的另一个类。在分层结构中,它又属于其上层的另一个类。DAO的层次结构如图的层次结构如图8.1所示。所示。 8.1 DAO8.1 DAO层次结构层次结构图8.1 DAO层次结构模型图8.2 DAO8.2 DAO对象对象8.2.1 DBEngine对象8.2.2 Workspace对象8.2.3 Database对象8.2.4 TableDef对象8.2.5 Recordset对象8.2.6 Que

3、ryDef对象8.2.7 Field对象8.2 DAO8.2 DAO对象对象DBEngine对象对象DBEngine对象相当于对象相当于Jet数数据库引擎,它是不需要创据库引擎,它是不需要创建就已经存在的对象,而建就已经存在的对象,而且一个应用界面只能有一且一个应用界面只能有一个个DBEngine对象。对象。DBEngine对象位于对象位于DAO对象的顶层,其层次结构对象的顶层,其层次结构如图如图8.2所示。所示。图8.2 DBEngine对象8.2 DAO8.2 DAO对象对象DBEngine对象的属性对象的属性DefaultUser:缺省用户名称。进行数据:缺省用户名称。进行数据库访问时设

4、置的缺省用户名称,是一个库访问时设置的缺省用户名称,是一个长度小于长度小于20个字符的个字符的String变量,变量,DefaultUser的缺省值是的缺省值是Admin。DefaultPassword:缺省用户口令。进行:缺省用户口令。进行数据库访问时设置的缺省用户口令,数据库访问时设置的缺省用户口令,DefaultPassword的缺省值是空字符串。的缺省值是空字符串。SystemDB:系统数据库名称。本地:系统数据库名称。本地Microsoft Jet数据库工作组文件,缺省数据库工作组文件,缺省值为值为System.mdw8.2 DAO8.2 DAO对象对象IniPath:初始文件位置。

5、设置或返回:初始文件位置。设置或返回Windows注册文件中存有注册文件中存有Microsoft Jet数据库引擎值的键数据库引擎值的键的有关信息。的有关信息。LoginTimeout:注册超时。在注册进入一个:注册超时。在注册进入一个ODBC数据库时,系统发出错误信号前等待的时数据库时,系统发出错误信号前等待的时间。缺省值为间。缺省值为20秒,如果设为零,系统将永久等秒,如果设为零,系统将永久等待待Version:DAO版本信息。用来返回正在使用的版本信息。用来返回正在使用的DAO的版本信息的版本信息DefaultType:Workspace对象的类型。设置或返对象的类型。设置或返回一个值,

6、该值为创建下一个工作区对象指出默回一个值,该值为创建下一个工作区对象指出默认连接类型(工作区类型)。该属性的取值有两认连接类型(工作区类型)。该属性的取值有两个:个:DbUseJet表示创建连接到表示创建连接到Microsoft Jet数据库数据库引擎的工作区对象,引擎的工作区对象, DbUseODBC表示创建连接到表示创建连接到数据源的工作区对象。数据源的工作区对象。8.2 DAO8.2 DAO对象对象DBEngine对象的方法对象的方法CreateWorkspace:创建一个新的:创建一个新的Workspace对象。可以选用参数来设对象。可以选用参数来设置置Workspace的类型以及访问

7、的用户的类型以及访问的用户名称和访问的口令。名称和访问的口令。CompactDatabase:压缩或转换一:压缩或转换一个关闭的个关闭的Microsoft Jet数据库。数据库。RegisterDatabase:将:将ODBC数据源数据源的连接信息注册到的连接信息注册到Windows。8.2 DAO8.2 DAO对象对象RepairDatabase:修复一个关闭的:修复一个关闭的Microsoft Jet数数据库。据库。Idle:挂起数据处理进程,使:挂起数据处理进程,使DBEngine处于空闲处于空闲状态状态8.2 DAO8.2 DAO对象对象CreateWorkspace方法用于创建一个具

8、有指定类型、用户方法用于创建一个具有指定类型、用户名称和口令的名称和口令的Workspace对象。其语法如下:对象。其语法如下:Set Workspace对象变量对象变量=DBEngine.CreateWorkspace(name,user,password,type)CreateWorkspace的参数有的参数有name、user、password、type,说明如下。说明如下。name:String类型,用于指明类型,用于指明Workspace的名称。的名称。user:String类型,用于指明访问的用户名称。类型,用于指明访问的用户名称。password:String类型,用于指定访问的

9、口令。类型,用于指定访问的口令。type:常量,指明所建立的:常量,指明所建立的Workspace的类型,取值有两个,的类型,取值有两个,分别是分别是dbUseJet(创建(创建Microsoft Jet工作区)和工作区)和dbUseODBC(创建(创建ODBC工作区)。工作区)。8.2 DAO8.2 DAO对象对象Workspace对象Workspace对象的属性对象的属性Name:设置或返回用户定义的:设置或返回用户定义的Workspace对象对象的名称。的名称。Type:Workspace对象的类型。如果连接对象的类型。如果连接Microsoft Jet数据库,则为数据库,则为Micro

10、soft Jet Workspace对象;如果连接对象;如果连接ODBC数据库,则为数据库,则为ODBC Workspace对象。对象。(3)UserName:拥有该:拥有该Workspace对象的用户对象的用户或用户组的名称。或用户组的名称。(4)LoginTimeout:在注册进入一个:在注册进入一个ODBC数数据库时,系统发出错误信号前等待的时间,缺省据库时,系统发出错误信号前等待的时间,缺省值为值为20秒。如果设为零,系统将永久等待。秒。如果设为零,系统将永久等待。8.2 DAO8.2 DAO对象对象图8.4 Workspace集合和对象8.2 DAO8.2 DAO对象对象Worksp

11、ace对象的方法对象的方法CreateDatabase:在一个指定的工:在一个指定的工作区中建立一个新的作区中建立一个新的Jet数据库对象数据库对象(只能是(只能是.mdb,且存放在磁盘上),且存放在磁盘上),并把数据库对象作为函数值返回。并把数据库对象作为函数值返回。该方法只能创建该方法只能创建Jet数据库(只能数据库(只能是是.mdb,且存放在磁盘上),也是,且存放在磁盘上),也是代码创建代码创建Jet数据库的惟一方法。数据库的惟一方法。8.2 DAO8.2 DAO对象对象CreateGroup:在一个指定的工作区建立:在一个指定的工作区建立一个新的组一个新的组Group对象。对象。Cre

12、ateUser:在一个指定的工作区建立一:在一个指定的工作区建立一个新的组个新的组User对象。对象。OpenConnection:在:在ODBC数据源上打数据源上打开一个开一个Connection对象(仅用于对象(仅用于ODBC Direct Workspace,它通过,它通过Microsoft Jet 数据引擎直接访问数据引擎直接访问ODBC数据源的数据源的Workspace) OpenDatabase:打开一个现在的数据库。:打开一个现在的数据库。可以打开可以打开Jet3.51支持的所有类型的数据库。支持的所有类型的数据库。8.2 DAO8.2 DAO对象对象BeginTrans:将该语

13、句后到:将该语句后到CommitTrans语句前的一系列的数据操作作为一个事务语句前的一系列的数据操作作为一个事务来完成,以便于在需要的时候使用来完成,以便于在需要的时候使用Rollback方法回退这一系列数据操作。方法回退这一系列数据操作。CommitTrans:结束当前的事务并且将所:结束当前的事务并且将所进行的修改保存到数据库中。进行的修改保存到数据库中。Rollback:回退从:回退从BeginTrans开始到开始到CommitTrans提交的事务。提交的事务。Close:关闭该:关闭该Workspace对象以及它的任对象以及它的任何子对象,即将何子对象,即将Workspace对象从内

14、存中对象从内存中删除。删除。8.2 DAO8.2 DAO对象对象 Database对象对象Databases集合指一系列集合指一系列的的Database对象,每个对象,每个Database对象映射一个对象映射一个打开的物理数据库。打开的物理数据库。 Database集合和对象的集合和对象的层次结构图如图层次结构图如图8.5所所示。其中,示。其中,TableDef对对象为象为Database对象子集对象子集的默认对象。的默认对象。图8.5 Database集合和对象8.2 DAO8.2 DAO对象对象Database对象的属性对象的属性Name:设置或返回数据库的完整路径和:设置或返回数据库的完

15、整路径和文件名。文件名。Connect:设置或返回打开外部数据库时:设置或返回打开外部数据库时的连接字符串(的连接字符串(Connect string)。)。Connection:设置或返回:设置或返回ODBC连接属性,连接属性,包括用户名、口令等。包括用户名、口令等。Transactions:返回是否可以使用:返回是否可以使用BeginTrans、CommitTrans或或RollBack,实现批量写入,取消写入。实现批量写入,取消写入。8.2 DAO8.2 DAO对象对象QueryTimeout:设置当使用:设置当使用ODBC调调用打开客户服务器结构的数据库时,用打开客户服务器结构的数据库

16、时,操作等待的时间。操作等待的时间。CollatingOrder:返回数据库中文排序:返回数据库中文排序方式。方式。Count:返回:返回Database对象的数量。对象的数量。RecordsAffected:返回执行:返回执行Execute命命令后,被操作的记录数。令后,被操作的记录数。Version:返回所打开数据库的版本号。:返回所打开数据库的版本号。8.2 DAO8.2 DAO对象对象Updatable:返回是否可对数据库进行写入或删除:返回是否可对数据库进行写入或删除数据操作。数据操作。Replicable:设置或返回数据库或数据库对象可以:设置或返回数据库或数据库对象可以被复制。被

17、复制。V1xNullBehavior:设置是否将:设置是否将“Text”类型或类型或“Memo”类型的字段的空字符串转换为类型的字段的空字符串转换为Null,其,其值为值为True时,进行转换。时,进行转换。8.2 DAO8.2 DAO对象对象Database对象的方法对象的方法(1)OpenRecordset:打开:打开Recordset记录记录集对象。它是集对象。它是Database对象诸方法中使用对象诸方法中使用最多的一个方法。最多的一个方法。语法:语法:Set recordset = object.OpenRecordset (source, type, options, locked

18、its)参数参数source:字符串型,指定新建的:字符串型,指定新建的Recordset对象的记录源,可以是表名、查询名或一个返对象的记录源,可以是表名、查询名或一个返回若干记录的回若干记录的SQL语句,对于语句,对于Microsoft Jet数据数据库中的表类型的库中的表类型的Recordset对象,它只能是表名。对象,它只能是表名。8.2 DAO8.2 DAO对象对象参数参数type:可选,指定:可选,指定Recordset对象的类型,对象的类型,它可取表它可取表8.1中的值。中的值。参数参数options:可选,指定:可选,指定Recordset对象的其它对象的其它属性,它可取表属性,

19、它可取表8.2中的值。中的值。参数参数lockedits:可选,指定:可选,指定Recordset对象的锁对象的锁定类型,它可取表定类型,它可取表8.3中的值。中的值。8.2 DAO8.2 DAO对象对象常量常量说明说明dbOpenTable打开表类型打开表类型Recordset对象(仅对对象(仅对Microsoft Jet workspace有效)有效)dbOpenDynamic打开动态(打开动态(Dynamic)类型)类型Recordset对象(仅对象(仅对对Microsoft Jet workspaces有效),类似有效),类似ODBC动态游标动态游标dbOpenDynaset打开动态集

20、(打开动态集(dynaset)类型)类型Recordset对象对象dbOpenSnapshot打开一个快照(打开一个快照(Snapshot)类型)类型Recordset对象对象dbOpenForwardOnly 打开一个单向向前打开一个单向向前Recordset对象对象表8.1 Type参数的取值8.2 DAO8.2 DAO对象对象常量说明dbAppendOnly只允许追加新记录dbSQLPassThrough传递一个SQL语句dbSeeChanges当别的用户在编辑时,企图修改数据,会产生一个运行错误dbDenyWrite禁止写dbDenyRead禁止读dbForwardOnly只能向前(为

21、了与以前版本兼容)dbReadOnly只能读dbRunAsync运行异步查询(只针对ODBC Direct Workspace有关)dbExecDirect跳过SQL Prepare直接调用SQL Exec Direct运行查询dbInconsistent允许不一致修改dbConsistent只允许一致性修改表8.2 Option参数的取值8.2 DAO8.2 DAO对象对象常量说明dbReadOnly只允许读dbPessimistic在多用户环境下,使用悲观锁定策略,即一旦使用Edit方法,将锁定编辑的页dbOptimistic在多用户环境下,使用乐观锁定策略,即直到使用Update方法时才

22、锁定所编辑的页dbOptimisticValue用基于行的乐观一致性锁定策略(只针对ODBC Direct Workspace有效)dbOptimisticBatch使用批量乐观更新(只针对ODBC Direct Workspace有效)表8.3 lockedits参数的取值8.2 DAO8.2 DAO对象对象Close:关闭:关闭DAO对象。对象。CreateProperty:创建一个新的用户定义的:创建一个新的用户定义的Property对象,只对对象,只对Microsoft Jet Wordspace有有效。效。CreateQueryDef:创建一个新的查询定义:创建一个新的查询定义Que

23、ryDef对象。对象。CreateTableDef:创建一个新的表定义:创建一个新的表定义TableDef对象。对象。CreateRelation:创建一个新的联系:创建一个新的联系Relation对象,对象,只对只对Microsoft Jet Wordspace有效。有效。8.2 DAO8.2 DAO对象对象Execute:在一个指定的连接或数据库:在一个指定的连接或数据库对象上运行一个功能查询或执行一个对象上运行一个功能查询或执行一个SQL语句。语句。NewPassword:改变口令。:改变口令。MakeReplia:复制数据库,只对:复制数据库,只对Microsoft Jet Words

24、pace有效。有效。Synchronize:使两个复制同步,只对:使两个复制同步,只对Microsoft Jet Wordspace有效。有效。8.2 DAO8.2 DAO对象对象 TableDef对象对象TableDef集合和对象的层集合和对象的层次结构图如图次结构图如图9.6所所示。它包括字段示。它包括字段(Field)和索引)和索引(Index)两个对象。)两个对象。 图8.6 TableDef集合和对象8.2 DAO8.2 DAO对象对象TableDef对象的属性对象的属性Name:设置或返回:设置或返回TableDef对象的名称。对象的名称。可以和数据库中表的名称不一样。可以和数据库

25、中表的名称不一样。Attributes:设置或返回:设置或返回TableDef对象的特对象的特性。如是否打开为打开为独占方式;该表性。如是否打开为打开为独占方式;该表是否是由是否是由Jet数据库引擎提供的系统表等等。数据库引擎提供的系统表等等。ConflictTable:冲突表的名字,该表包含:冲突表的名字,该表包含了两个副本在同步期间相互冲突的数据库了两个副本在同步期间相互冲突的数据库记录。记录。8.2 DAO8.2 DAO对象对象DataCreated:返回创建表的日期和时:返回创建表的日期和时间。是日期变量型。间。是日期变量型。LastUpdated:返回最近一次修改表的。:返回最近一次

26、修改表的。日期和时间。是日期变量型。日期和时间。是日期变量型。RecordCount:TableDef对象中所有的对象中所有的记录总数。对于基表(记录总数。对于基表(Base Table),),RecordCount属性返回的是表中的记录属性返回的是表中的记录总数;对于链接表(总数;对于链接表(Linked Table),),返回的是返回的是-1。8.2 DAO8.2 DAO对象对象Updatable:指定能否对表中的数据进行修:指定能否对表中的数据进行修改。取改。取True或或False值。对于新建的值。对于新建的TableDef对象,该属性值为对象,该属性值为True。但在有些场合,如。但

27、在有些场合,如网络环境,表可以被锁定,或用户以只读方网络环境,表可以被锁定,或用户以只读方式打开时,该值为式打开时,该值为False,表明不能对表更新。,表明不能对表更新。ValidationRule:有效性规则,在一个字段:有效性规则,在一个字段被修改或添加到一个表时,设置或返回用被修改或添加到一个表时,设置或返回用来使该字段中数据生效的值。字符串类型。来使该字段中数据生效的值。字符串类型。ValidationText:在键入到某个字段对象中:在键入到某个字段对象中的值不满足有效性规则时,应用程序所显的值不满足有效性规则时,应用程序所显示的提示性信息。示的提示性信息。8.2 DAO8.2 D

28、AO对象对象TableDef对象的方法对象的方法CreateField:在:在TableDef对象中建立一个新的字对象中建立一个新的字段,并创建一个段,并创建一个Field对象,建立对该字段的引对象,建立对该字段的引用。用。CreateIndex:在:在TableDef对象中建立一个新索对象中建立一个新索引,并创建一个引,并创建一个Index对象,建立对该索引的引对象,建立对该索引的引用。用。CreateProperty:建立一个用户自定义的属性,:建立一个用户自定义的属性,并创建一个并创建一个Property对象,建立对该属性的引用。对象,建立对该属性的引用。OpenRecordset:创建

29、一个记录集对象,显示一:创建一个记录集对象,显示一个或多个表中部分或全部的字段的数据。个或多个表中部分或全部的字段的数据。RefreshLink:更新与链接表的链接。:更新与链接表的链接。8.2 DAO8.2 DAO对象对象Recordset对象对象在使用在使用DAO访问数据访问数据库时,一般都使用库时,一般都使用Recordset对象来操对象来操作记录,如增加记录、作记录,如增加记录、删除记录、更新数据删除记录、更新数据库、在记录中移动等。库、在记录中移动等。Recordset对象的层次对象的层次结构如图结构如图8.7所示。所示。图8.7 Recordset对象与集合8.2 DAO8.2 D

30、AO对象对象Recordset对象共有对象共有5种类型。种类型。Table:是缺省类型。此类型的:是缺省类型。此类型的Recordset对象是物对象是物理表的映射。它包含单一表对象的所有数据。它可理表的映射。它包含单一表对象的所有数据。它可以对数据进行完全访问,如添加、修改、删除记录。以对数据进行完全访问,如添加、修改、删除记录。Dynast:此类型的:此类型的Recordset对象是单一表对象或对象是单一表对象或Select类型查询结果的映射。它所包含的字段一般类型查询结果的映射。它所包含的字段一般来源于多个表,是一个动态的记录集合。它可以有来源于多个表,是一个动态的记录集合。它可以有Tab

31、le类型所有编辑功能,但不能使用索引。类型所有编辑功能,但不能使用索引。Snapshot:此类型的:此类型的Recordset对象包含一组不能对象包含一组不能更改的记录集合,是只读的。用来浏览数据和生更改的记录集合,是只读的。用来浏览数据和生成报表。成报表。8.2 DAO8.2 DAO对象对象(4)ForwardOnly:此类型的:此类型的Recordset对象和对象和Snapshot类型一样,但只能在记类型一样,但只能在记录集合中向前移动,用于网络数据库环录集合中向前移动,用于网络数据库环境。境。(5)Dynamic:此类型的:此类型的Recordset对对象是一个查询结果的记录集合。可以象

32、是一个查询结果的记录集合。可以进行增加、修改、删除等操作。并且进行增加、修改、删除等操作。并且在多用户环境,其他用户对对象记录在多用户环境,其他用户对对象记录来源表中的数据的修改也会反映到该来源表中的数据的修改也会反映到该Recordset对象上。对象上。8.2 DAO8.2 DAO对象对象Recordset对象的属性对象的属性AbsolutePosition:设置或读取当前记:设置或读取当前记录在记录集中的位置。录在记录集中的位置。BOF:返回值表明指针是否已到记录:返回值表明指针是否已到记录集中第一条记录之前。一般在记录间集中第一条记录之前。一般在记录间向前移动记录指针时,应先检查此属向前

33、移动记录指针时,应先检查此属性以保证指针不会移出记录集。性以保证指针不会移出记录集。Bookmark:指向特定记录的标签。:指向特定记录的标签。Bookmarkable:返回值表明此:返回值表明此Recordset对象是否支持对象是否支持Bookmark。8.2 DAO8.2 DAO对象对象EditMode:返回一个表明当前记录的编辑状:返回一个表明当前记录的编辑状态的值。态的值。EOF:返回值表明指针是否已到记录集中最:返回值表明指针是否已到记录集中最后一条记录之后。一般在记录间向后移动记后一条记录之后。一般在记录间向后移动记录指针时,应先检查此属性以保证指针不会录指针时,应先检查此属性以保

34、证指针不会移出记录集。移出记录集。Filter:过滤记录的字符串,相当于去掉:过滤记录的字符串,相当于去掉SQL语句中语句中WHERE关键字的关键字的WHERE子句。子句。Index:设置或返回一个值表明:设置或返回一个值表明Recordset对对象记录显示顺序的索引的名称。象记录显示顺序的索引的名称。LastModified:返回一个指向:返回一个指向Table对象中对象中最近修改过的记录的标签。最近修改过的记录的标签。8.2 DAO8.2 DAO对象对象LastUpdated:最后一次将:最后一次将Recordset的改的改变更新到数据库的日期和时间。变更新到数据库的日期和时间。LockE

35、dits:取值为:取值为True或或False。该值取。该值取True时,锁定当前正在更新的页面;该值时,锁定当前正在更新的页面;该值取取False时,仅当时,仅当Update方法用于编辑的方法用于编辑的表时锁定页面。表时锁定页面。Name:Recordset对象的名称。对象的名称。NoMatch:取值为:取值为True或或False。当用。当用Seek或或Find方法查找记录时,如果没有满方法查找记录时,如果没有满足给定条件的记录,该值取足给定条件的记录,该值取True。PercentPosition:当前记录指针的位置与:当前记录指针的位置与记录总数的百分比。记录总数的百分比。8.2 DA

36、O8.2 DAO对象对象RecordCount:Recordset对象中记录的总对象中记录的总数。数。Restartable:Recordset对象是否支持对象是否支持Requery方法。方法。Sort:指定:指定Recordset对象显示的排序准则,对象显示的排序准则,相当于去掉相当于去掉SQL语句中语句中ORDER BY关键字关键字的的ORDER BY子句。子句。Transactions:是否支持事务处理的回退功:是否支持事务处理的回退功能。能。ValidationRule:在一个字段被修改或添加:在一个字段被修改或添加到一个表中时,返回或设置用来使该字段到一个表中时,返回或设置用来使该字

37、段中数据生效的值。是一个中数据生效的值。是一个String类型的字符类型的字符串。串。8.2 DAO8.2 DAO对象对象ValidationText:在键入到某个字段对象中的值:在键入到某个字段对象中的值不满足有效性规则时,应用程序所显示的提示性不满足有效性规则时,应用程序所显示的提示性信息。信息。2Recordset对象的方法对象的方法AddNew:向:向Recordset对象添加一条新记录,对象添加一条新记录,并将记录指针移到该记录。并将记录指针移到该记录。CancelUpdate:取消尚未执行的数据更新操作。:取消尚未执行的数据更新操作。Clone:创建原始:创建原始Recordset

38、对象的一个副本。对象的一个副本。Close:关闭当前:关闭当前Recordset对象。对象。8.2 DAO8.2 DAO对象对象CopyQueryDef:建立:建立Recordset对象所基于的对象所基于的QueryDef的拷贝。的拷贝。Delete:在可更新的:在可更新的Recordset对象中删除当前记对象中删除当前记录。录。Edit:把一个可更新的:把一个可更新的Recordset对象的当前记对象的当前记录拷贝到拷贝缓冲区(录拷贝到拷贝缓冲区(Copy Buffer),以便于),以便于编辑,即设置为编辑状态。一般和编辑,即设置为编辑状态。一般和Update方法方法配合使用。先将配合使用。

39、先将Recordset对象设为编辑状态,对象设为编辑状态,然后对数据进行修改,最后用然后对数据进行修改,最后用Update方法将修方法将修改更新到数据库中改更新到数据库中FindFirst、FindLast、FindPrevious、FindNext:按按Recordset对象的索引和排序顺序,查找满足对象的索引和排序顺序,查找满足约束条件的第一条记录、最后一条记录、上一条约束条件的第一条记录、最后一条记录、上一条记录、下一条记录。记录、下一条记录。8.2 DAO8.2 DAO对象对象Move:将记录指针移动到指定位置。:将记录指针移动到指定位置。MoveFirst、MoveLast、Move

40、Previous、 MoveNext:移动到指定:移动到指定 Recordset 对象对象中的第一个、最后一个、上一个或下一个中的第一个、最后一个、上一个或下一个记录并使该记录成为当前记录。记录并使该记录成为当前记录。OpenRecordset:创建一个新的:创建一个新的Recordset对象,并将它添加到对象,并将它添加到Recordsets集合中。集合中。Requery:通过重新执行:通过重新执行Recordset对象所对象所基于的查询更新该基于的查询更新该Recordset对象的数据。对象的数据。8.2 DAO8.2 DAO对象对象Seek:按:按Recordset对象的索引和排对象的索

41、引和排序顺序,将记录指针移动到满足约序顺序,将记录指针移动到满足约束条件的第一条记录。束条件的第一条记录。Update:进入编辑方式后,必须要:进入编辑方式后,必须要使用使用Update才能确定写入数据,写才能确定写入数据,写入后退出编辑方式。入后退出编辑方式。8.2 DAO8.2 DAO对象对象QueryDef对象对象QueryDef对象是对象是Microsoft Jet数据库中一个查询的存储定数据库中一个查询的存储定义(义(stored definition)或)或ODBC direct workspace中一中一个查询的临时定义个查询的临时定义(temporary definition)

42、。)。它是数据库的永久性对象,它是数据库的永久性对象,存放在磁盘文件中。存放在磁盘文件中。图8.8 QueryDef对象的层次结构图8.2 DAO8.2 DAO对象对象QueryDef对象的属性对象的属性LastUpdated:最后一次将:最后一次将QueryDef的的改变更新到数据库的日期和时间。改变更新到数据库的日期和时间。Name:QueryDef对象的名称。它可以对象的名称。它可以和数据库中查询的名称不一致。和数据库中查询的名称不一致。RecordsAffected:受最近调用的方法影:受最近调用的方法影响的记录数。响的记录数。Replicable:设置或返回一个值决定:设置或返回一个

43、值决定QueryDef对象是否可以复制。对象是否可以复制。8.2 DAO8.2 DAO对象对象SQL:定义查询的:定义查询的SQL语句。可以通过修语句。可以通过修改改SQL语句更改查询。如,可以通过修改语句更改查询。如,可以通过修改SQL中中WHERE子句改变约束条件,再进子句改变约束条件,再进行查询。行查询。Type:设置或返回一个值表明:设置或返回一个值表明QueryDef对象的类型。对象的类型。Updatable:返回一个值表明:返回一个值表明QueryDef对对象是否可以更新。象是否可以更新。8.2 DAO8.2 DAO对象对象QueryDef对象的方法对象的方法Close:关闭一个打

44、开的:关闭一个打开的QueryDef对象。对象。CreateProperty:为:为QueryDef对象创建对象创建一个用户定义的属性。一个用户定义的属性。Execute:运行一个动作查询或执行一个:运行一个动作查询或执行一个SQL语句。语句。OpenRecordset:创建一个新的:创建一个新的Recordset对象并将它添加到对象并将它添加到Recordsets集合中。集合中。8.2 DAO8.2 DAO对象对象图8.9 Field集合和对象8.2 DAO8.2 DAO对象对象 Field对象对象Field对象的属性对象的属性AllowZeroLength:设置或返回一个值表明:设置或返回

45、一个值表明零长度的字符串对于某零长度的字符串对于某Field对象的对象的Value属属性是否有效。可取性是否有效。可取True或或False值。值。Attributes:设置或返回一个值表明:设置或返回一个值表明Field对对象的一个或多个特性。象的一个或多个特性。CollatingOrder:返回一个值说明用于字符:返回一个值说明用于字符串比较或排序的文本顺序。串比较或排序的文本顺序。DataUpdatable:返回一个值表明:返回一个值表明Field对象对象里的数据是否可以更新。里的数据是否可以更新。8.2 DAO8.2 DAO对象对象DefaultValue:设置或返回一个:设置或返回一

46、个Field对象对象缺省值。缺省值。Name:用户定义的:用户定义的Field对象名称。对象名称。OrdinalPosition:Fields集合中集合中Field对象对象的相对位置。的相对位置。Required:Field对象是否要求非空值。对象是否要求非空值。Size:用字节表示的:用字节表示的Field对象的最大值。对象的最大值。SourceTable:Field对象数据来源的原始对象数据来源的原始表名。表名。8.2 DAO8.2 DAO对象对象Type:Field对象的数据类型。对象的数据类型。ValidateOnSet:当:当Field对象的对象的Value属性属性设置时,该设置时,

47、该Field对象的值是否立即有效。对象的值是否立即有效。ValidationRule:在一个字段被修改或添:在一个字段被修改或添加到一个表中时,返回或设置用来使该字加到一个表中时,返回或设置用来使该字段中数据生效的值。段中数据生效的值。ValidationText:在键入到某个字段对象:在键入到某个字段对象中的值不满足有效性规则时,应用程序中的值不满足有效性规则时,应用程序所显示的提示性信息。所显示的提示性信息。Value:以:以Type属性指定的数据类型赋属性指定的数据类型赋给给Field对象的值。对象的值。8.2 DAO8.2 DAO对象对象Field对象的方法对象的方法AppendChu

48、nk:给:给OLE对象或备对象或备注(注(memo)Field对象添加一个字对象添加一个字符串。符串。CreateProperty:为:为Field对象创建对象创建一个新的用户定义的属性。一个新的用户定义的属性。GetChunk:一个:一个Recordset对象中对象中的的Fields集合中的备注对象或集合中的备注对象或OLE对象中的一部分或全部内容。对象中的一部分或全部内容。8.3 DAO8.3 DAO编程实例编程实例本节通过对本节通过对TuiMag.mdb数据库数据库StuInfo表的访问实例,表的访问实例,来讲解来讲解DAO访问数据库的一般步骤:访问数据库的一般步骤:(1)在集成开发环境

49、中,新建一个工程,将工程的命)在集成开发环境中,新建一个工程,将工程的命名为名为DAOexample,并以,并以DAOexample.vbp保存。保存。(2)在)在Form1窗体上,按图窗体上,按图8.10所示添加所示添加8个标签控件,个标签控件,将它们的将它们的Caption属性分别设置为:学号、姓名、出属性分别设置为:学号、姓名、出生日期、所在班级、来源、联系电话、备注,并左生日期、所在班级、来源、联系电话、备注,并左对齐,垂直方向相同间距;再添加对齐,垂直方向相同间距;再添加1个文本框,并命个文本框,并命名为名为txtFd,然后复制该文本框并粘贴为控件数组,然后复制该文本框并粘贴为控件数

50、组,共生成文本框共生成文本框8个,分别对应于学号、姓名、出生日个,分别对应于学号、姓名、出生日期、所在班级、来源、联系电话、备注。期、所在班级、来源、联系电话、备注。8.3 DAO8.3 DAO编程实例编程实例图8.10 Form1窗体及其上的控件(3)在窗体上创建简单菜)在窗体上创建简单菜单:单:“文件文件”(菜单名为(菜单名为mnuFile),它有一个菜单),它有一个菜单项项“退出退出”(菜单项名为(菜单项名为mnuExit););“数据数据”(菜(菜单名为单名为mnuData),它也只),它也只有一个菜单项有一个菜单项“保存记录保存记录”(菜单项名为(菜单项名为mnuDataSave)。

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

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

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


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

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


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