- 4
- 0
- 约6.12千字
- 约 28页
- 2017-06-07 发布于湖北
- 举报
5.2 ODBC与DAO对象 5.2.6 用DAO实现数据库访问 初识DAO (Database Access Object) DAO(Data Access Object,数据存取对象) ,是关于数据库访问对象的一种开发技术,是专为操作MDB文件设计的,因此它很容易处理Access等生成的数据库。 Microsoft Jet数据库引擎是一种数据库管理组件(COM), 许多数据库工具都是基于它实现的, DAO就是其中之一。 DAO在VB中提供了两种与Jet数据库引擎接口的方法:Data控件和数据访问对象(DAO)。 (1)DAO对象模型 DAO模型是设计关系数据库系统结构的对象类的集合。它们提供了完成管理一个关系型数据库系统所需的全部操作的属性和方法,这其中包括创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等。 Visual Basic、Visual C++中的数据库编程就是创建数据访问对象,这些数据访问对象对应于被访问物理数据库的不同部分,如数据库、表、字段和索引等,同时用这些对象的属性和方法来实现对数据库的操作。 可访问的数据和数据库结构 数据访问对象 (DAO) 提供使用代码创建和操作数据库所需要的框架。DAO 提供一组分层对象,这些对象使用 Microsoft Jet 数据库引擎访问下列对象中的数据和数据库结构: Microsoft Jet (.MDB) 数据库 ODBC 数据源,使用 ODBC 驱动程序 可安装的索引顺序访问方法(ISAM) 数据库(如 dBASE 和 Paradox) Microsoft Excel 3.07.0 版工作表 Lotus WKS、WK1、WK3 和 WK4 电子表格 文本文件 DAO的结构 DAO的结构--- DAO对象 DAO的结构--- MFC DAO类 MFC(Microsoft Foundation Class, MS-Visual C++的类库)DAO类使用Microsoft Jet数据库引擎操作系统和用户数据库中的数据。所有的DAO数据库类名都有CDao前缀。 由MFC提供了5个 数据库类,对所有 的DAO对象都进行 封装。 了解DAO数据库类 1. CDaoDatabase类 CDaoDatabase类是对DAO数据库对象的封装,它代表一个数据库连接,利用它可以操纵数据库中的数据。在一个由CDaoWorkspace对象指定的工作区中,可以同时拥有多个活动的CDaoDatabase对象,每个对象都有自己的表定义、查询定义、记录集和关系的收集,同时CDaoDatabase类也提供操纵这些对象的成员函数。 类中的数据库属性函数,完成查询数据库版本、更新特性和设置查询超时等操作。类中的数据库操作函数完成打开或创建数据库,创建关系和执行查询等操作。 (2)使用Recordset对象 在DAO对象一览图中我们可以看到Recordset对象是Database对象的子对象,那么在建立Recordset对象之前需要先建立Databsse对象,这就如同在C++中要先建立父类才能建立子类一样。由于DBEngine对象是最顶级的数据库访问对象,有点象JAVA中的超类概念,是不需要建立,其他DAO对象都是对它的继承,至于Workspace对象,VB中缺省建立了一个,如果不设计到多个数据库环境的话(例如:在程序中同时使用ODBC和Jet),是不需要关心的。在解决了这个问题我们还需要将Jet3.5动态链接库加入工程中才能定义Recordset对象,步骤如下: 1、选中“工程”菜单的“引用”,出现如下图所示的窗口 2、创建Recordset 对象变量 1)首先,必须声明一个 Recordset 类型的变量,然后将变量设置为 OpenRecordset 方法返回的对象。 2)确定OpenRecordset 方法在 Database、Connection、TableDef、QueryDef 以及已经存在的 Recordset 对象中使用。?Connection 和 Database 对象的 OpenRecordset 方法的语法如下:Set variable = database.OpenRecordset (source [, type [, options, [lockedits ]]])其它所有类型的对象的 OpenRecordset 方法的语法如下:Set variable = object.OpenRecordset ([type [, options [,lockedits ]]) (3)Recordset对象的类型 Recordset 对象有五种类型:表、动态集、快照、动态和仅向前类型 (3)Recordset对
您可能关注的文档
- m序列的特点和应用.ppt
- NACA0012翼型的截面和升力阻力曲线图.doc
- 扫描仪使用指南知识.pdf
- NARX神经网络多步及单步预测.pdf
- NC客户端设置及维护说明.pdf
- NetBeans安装及配置C C++环境.doc
- 森林防火监控智能分析系统(热成像)11.3知识.doc
- 杀毒软件分析知识.doc
- 杀毒软件技术初探知识.pdf
- NET面试题与答案.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)