admin 管理员组文章数量: 1184232
2025年1月1日发(作者:全面的python少儿编程课)
(一)程序设计语言VC++与DAO的应用
Visual C++6是微软公司推出的支持32位操作系统的开发工具,它提供了对Microsoft
最新技术的集成,提供了一个可视化的 C++ 编程模式,是Windows平台上的理想开发工具。
与其它工具相比,它具有以下特点。
oft Visual C++是与系统紧密联系在一起的。对于Windows系统支持的功能
如消息机制等,在Visual C++6中都可以找到原型。
2.提供一个更为强大的MFC编程接口。它提供了文档与视图、线程与进程、多任务同步、
数据库支持、网络支持及Internet支持
3.提供了一个可视化、一致的用户界面。
DAO(数据直接访问)是Microsoft继ODBC之后提供的另一个编程接口。DAO提供了一
个基本框架来创建和操纵数据库。数据的DAO具有一个层次的对象结构,它使用Microsoft
Jet Database 来实现对数据的访问。它支持的数据类型有Microsoft Jet Database,即MDB
数据库。ODBC源数据需要ODBC的相应的驱动器,可安装的ISAM数据库,如dBase、Microsoft
Foxpro等。
1)DAO主要有以下几个优点。
○1独立性更强。
在ODBC中,ODBC的应用需要很多部件的支持,如ODBC的相应的驱动器等。比方说,
你用VC开发了一个ODBC的应用,经编译连接后,在你的系统上可以运行。当移动到另一个
系统上时,你需要搬动很多的部件,并要对ODBC进行注册,否则你的应用还是不能正常运
行。DAO在这个方面,具有更强的独立性。如果你的数据库应用是基于Microsoft Jet
Database的,你甚至可以完全实现应用的独立性。
另外,ODBC需要别的数据库软件来为它创建一个数据库模板。
○2数据操纵功能更强。
ODBC只支持数据操纵语言DML功能,只能进行一些数据的查询等工作。其主要功能是
基于记录级的,如查询、增加删除记录等。若要创建一个数据库、表或索引,它就无能为力
了。
从功能上来看,DAO能支持ODBC的所有功能,并且它还支持逐渐定义语言(DDL)。可
以用它来创建一个数据库,也可以在数据库中增加新的表、索引、查询对象等,还可为表增
加或删除域的功能。可以说,它几乎支持所有的数据库功能。
○3使用更方便。
由于DAO支持数据库更多的功能,在用它编程时,更灵活、方便。它可以直接创建和修
改一个数据库,因此不需要别的软件支持。另外,在用DAO编程时,不受基本数据库模板的
限制,可以随时修改以适应应用需要。
○4具有OLE(嵌入式开发编程)机制。
DAO的实现是基于OLE机制的,它也是基于COM的对象部件的方式来实现对数据库的管
理功能。
2)DAO的有关类别如下。
1
CdaoRecordset。○该类代表了从数据源查找到的一组“记录”。它为DAO的应用完成了
有关数据存储区及数据的格式等任务。另外,它也包含了对数据源的有关查询功能。在DAO
的MFC编程中,它是交互的最主要的一个类。
○2 CdaoDatabase。
一个CdaoDatabase对象代表了与数据库的连接,通过这个连接可以对数据库的数据进
行操作,即它代表了一个数据源的作用,只是它具有对数据源更强的操作功能,它可以包含
表、索引等。
○3CdaoTableDef。CdaoTableDef代表了数据库中的一个表,每一个DAO数据库都维护
一个表集。
4
CdaoQueryDef。一个CdaoQueryDef代表了一个查询定义。一种是临时查询对象。这○
种类型的查询对象只是在查询时创建,不存储到数据库中,每次查询都必须重新创建。另一
种是永久查询。这种类型的查询对象是与数据库存储在一起的,在需要查询时至需要从数据
库中读出来就可以了。
○5CdaoWorkspace。一个CdaoWorkspace对象用来管理一个用户所使用的一个数据库区。
其他类有:CdaoException和CdaoFieldExchange类。
(二)基于组件的编程技术
创建基于对话框的ActiveX控件。
○1创建新的MFC ActiveX Control Wizard项目,取名为TestAct。在Step 2 of 2中
取消Has an “About”box。
②在Resource View页中新增一对话框资源,命名为IDD DBP DIALOG,可以在对话
框上放自己的控件。
设置对话框资源属性的Style页为
Style:Child; Border:Dialog Frame; Title Bar:unchecked;
设置More Style页为Visible:Check;Control;Check;
设置Extended Style页为 Static Edge;Check。
③为对话框资源IDD DBP DIALOG创建新类CDbpDlg,确认在TestActCtrl。h中以加
入语句#include “dbpdlg。h”,为CTestActCtrl类添加成员变量CDbpDlg dlg。
④用ClassWizard在Automation页中为CTestActCtrl类添加一个自定义方法Void
DoDbp(),外部名亦为DoDbp。在函数DoDbp()中添加语句dlg。ShowWindow(SW SHOW)。
⑤ 用ClassWizard为CTestActCtrl添加WM CREATE的处理函数OnCreate,在
CTestActCtrl::OnCreate函数中写入dlg。Create(IDD DBP DIALOG,this)。在
CTestActCtrl::OnCreate中去除pdc—>FillRect()和pdc—>Ellipse()两行代码,
添加代码dlg。MoveWindow(rcBounds,true)。
○6编译此ActiveX控件,即完成了一个基于非模式对话框的组件制作。
(三)在C++中使用数据访问对象DAO和Jet引擎
DAO(Date Access Objects)是一套简化数据库编程的OLE对象。一个代表着数据库的
Database对象包含一系列Tabledef对象,其中每一个对象都包含一系列Field对象、每个
对象的属性值及实现适当功能的方法。DAO使用一套称为Jet引擎的DLL,即Microsoft Jet
Database Engine。所有这些不仅对Microsoft的*。mdb文件提供访问,也面向其他数据库
格式。Jet包含一个强有力的查询器,这使得复杂的操作变得简单。例如,可以查询连接到
SQL Server表的MDB表,并更新查询结果视图;创建能依次引用其他查询的已储存查询(等
同于SQL视图),这些被引用的查询仍然是可更新的,能力非常强大,它减轻了开发应用程
序的负担。程序员不用编写大量繁杂的C++代码或SQL语句就能完成复杂的数据库处理任务。
DAO是以OLE自动操作双接口实现的。MFC的DAO类(CDaoXxx)设计感觉上与MFC ODBC类
(CDatabase)相同,但能力有显著增强,如它可以在运行中指定字段名。MFC DAO类与ODBC
类在命名与操作上都很相似,但对于数据库操作,DAO更简便。如果已经使用了CDatabase
和CRecordset访问MDB文件或其他一些ISAM格式,那么程序员只需简单的操作就可把代码
转换CDaoDatabase及CDaoRecordset。由于DAO类最适合于编制处理Microsoft的*。mdb
数据库的应用程序,因此可利用DAO技术,结合数据库的建立,即可实现VC++应用程序中
数据库的查询功能。
版权声明:本文标题:程序设计语言VC++与DAO的应用 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1735826677a1692788.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论