第20章利用DAO实现数据库编程.ppt
文本预览下载声明
第20章 利用DAO实现数据库编程
DAO就是Database Access Object,数据库访问对象的英文缩写。在Visual Basic中提供了两种与Jet数据库引擎接口的方法:Data控件和数据访问对象(DAO)。Data控件只给出有限的不需编程而能访问现存数据库的功能,而DAO模型则是全面控制数据库的完整编程接口。Data控件将常用的DAO功能封装在其中,与DAO的关系就好象内存与CACHE之间的关系一样,所以这两种方法并不是互斥的,实际上,两种方法经常同时使用。
20.1 DAO简介
Visual Basic中的数据库编程就是创建数据访问对象,这些数据访问对象对应于被访问物理数据库的不同部分,如数据库、表、字段和索引等,同时用这些对象的属性和方法来实现对数据库的操作,以便在Visual Basic窗体中使用绑定和非绑定控件来显示操作结果并接收用户输入。
20.1.1 DAO的基本功能
DAO模型是设计关系数据库系统结构的对象类的集合,提供了完成管理一个关系型数据库系统所需的全部操作的属性和方法,这其中包括创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等。
利用DAO的Jet引擎,Visual Basic可以访问的数据库主要包括以下三种:
本地数据库,以Microsoft Jet数据库引擎所创建的数据库。Microsoft Jet数据库的扩展名为.mdb。
外部数据库,指的是使用ISAM(索引顺序访问方法)的数据库如FoxPro,文本文件数据等。
ODBC数据库,批的是符合ODBC标准的客户/服务器数据库,如Microsoft SQL Server。
20.1.2 数据访问对象
在Visual Basic中,数据访问对象(DAO)是访问数据库的一种基本方法。DAO对象是一个分层结构。包括了对象、集合、属性和方法。
在DAO的分层结构中,DBEngine是惟一不被其他对象所包含的数据访问对象,其包含了一个名为Workspace的集合,Workspace集合又包含了一个或多个Workspace对象,每个Workspace对象都有一个Databases集合,Databases集合包含了一个或多个Database对象,每个Database对象都包含了一个TableDefs集合,TableDefs集合包含了一个或多个TableDefs对象。
分层结构中的每个对象都可以通过其所属嵌套集合的完整“路径”来标识,路径中各集合之间用定位运算符“.”来分隔。如下面的代码:
JBEngine.Workspaces(1).Database(1).TableDefs(1).Fields(“Students_ID”)
20.1.3 数据访问对象的意义
DAO的分层结构中主要包括以下几个对象:
1.DBEngine对象 2.Workspace对象
3.Database对象 4.TableDefs集合
5.QueryDef对象 6.Recordset对象
7.Fields集合 8.Index对象
9.User对象 10.Group对象
11.Property对象
20.2 DAO对数据库的操作
数据访问对象集合是Microsoft Jet数据库引擎面向对象的接口,Visual Basic中的数据库编程实际上是先建立数据访问对象,然后再用这些对象的属性和方法对数据库进行操作。
20.2.1 引用DAO
要利用DAO进行数据库编程,首先要在工程中引用DAO。选择“工程”|“引用”命令,弹出“引用”对话框,在“引用”对话框中的“可用的引用”列表框中选择“Microsoft DAO 3.6 Object Library”复选框。
20.2.2 打开数据库
打开数据库之前,首先必须创建一个数据库对象。如下面的代码就声明了一个数据库对象:
Dim MyData As Database
然后使用OpenDatabase来打开一个已存在的数据库。其语法格式如下:
[workspace].OpenDatabase (dbname[,options][,read-only][,connect])
20.2.3 Recordset对象
Recordset对象是一批记录的集合。Recordset对象在结构上是由一系列的记录和字段组成的。在DAO中,几乎所有的数据的操作都是通过Recordset对象来实现的。Recordset对象代表的记录既可以直接从数据库中得到,也可以由查询返回。
Recordset对象根据记录的存取和控制方式的不同可以分为以下几大类:
表(Table)型记录集。
动态集(Dynaset)型记录。
快照型(Snapshot)记录集。
仅向前(Fo
显示全部