使用MFCDAO类实现对数据库的开发MFC的DAO类封装了DAO的大部分功能,于是可以更加方便地访问MicrosoftJet数据库,编制简洁的程序代码去实现复杂的功能。通过MFCDAO类使我们可以通过程序访问和操纵本地的或远程的数据和数据定义,管理数据库中的对象和结构。MFCDAO类中经常会用到的几个大类有CDaoWorkspace,在MFCDAO体系结构中处于高处,负责完成数据库的事务处理;CDaoDatabaset提供了一个到数据库的连接;CDaoRecordset代表一个数据记录的集合,该集合是一个库表或是一个查询的运行结果中的全部记录;CDaoRecordView为可视记录集类;CDaoException是响应所有由于异常引起的DAO错误。
在建立数据库的连接之前,要为DAO提供数据源。数据源完全由软件系统的外部(如Access)产生,通过DFX(DAO记录字段交换)和DDX(DAO记录数据交换)机制来进行数据的绑定和数据的交换。有了数据源后,可用CDaoWorkspace类建立构造空间,把数据源中的字段与DAO类切实地联系起来,建成数据库管理系统。本选型数据库系统如前面所述的各种数据库在Access数据库中都是以数据表的形式存在,对这些数据表中数据的访问基本上均是构造了CDaoRecordset类的CDaoRecordset对象,即每一个表都对应于一个CDaoRecordset对象。构造完成后,可通过调用Open成员函数打开。Open函数从数据库中选取数据并返回所选取的第1条记录,此后,我们就可以通过CDaoRecordset对象的成员函数和成员变量访问和控制这些记录。CDaoRecordset类的AddNew函数可完成产品数据的添加、Delete函数可将某种产品从产品数据库中删除,而MoveFisrt、MovePrev、MoveNext、MoveLast函数分别实现向前或向后的滚动记录等功能。
ARX环境下的泵选型数据库管理系统外部数据源的建立泵的选型数据库系统采用Microsoft公司的Access97编写的初始化数据源中包括了5种类型的数据库:性能参数数据库、外形安装尺寸数据库、性能曲线试验数据存储数据库、无量纲特性曲线数据存储数据库、管路附件参数存储数据库,如所示。
数据库的使用权限从产品管理的角度来理解,数据库系统必须具备一定的使用权限。泵的选型数据库系统将使用权限分为2种:一般的用户、销售人员,只可对所有的产品进行浏览、查询,而无权对该数据库中的任何数据进行任何修改,即无权随意、擅自变更该系统;系统管理、维护人员则可进行该数据库的维护、更新、添加等工作,这一部分的进入设有密码、口令,使数据库的安全性得到了一定程度上的保障。
数据库的管理如前所述,数据库的管理主要面向系统管理、维护人员。
以上所列出的5种类型的数据库的管理机制是类似的,现以性能参数数据库的管理为例来介绍如何实现对数据库的维护和管理,如所示。对该性能参数数据库的操作、管理包含了如下几项:添加新产品;插入新产品,可插入到任意位置;删除旧的、不用的产品;对已有产品性能参数的修正、更新;另外,可查看该系列泵所有型号产品的性能参数数据。
数据库的浏览、查询数据库的浏览、查询不存在访问权限的问题。一般的用户、销售人员及系统管理、维护人员均可使用。
选择所要查询数据库后就会出现所示的对话框,同样,可浏览数据库中所有数据;而当选定查询依据和具体的查询范围,按下查询按钮后,程序就会从该数据库中挨个搜索,当判断出某台泵满足你所输入的查询条件时,该台泵就会被列出来。如所示的即为该系列中满足查询条件(10m3/h 结语ObjectARX3.0环境中,如能很好地利用ObjectARX库提供的各种工具及MSVC开发环境中MFC类库中丰富的类资源,在AutoCAD图形平台下充分调用AutoCAD图形系统自身丰富的绘图资源来实现软件功能,完全可以开发出界面美观友好、操作简单、具备Windows风格的应用程序。而利用MFC中的DAO,可使应用程序更好地与各种数据库连接,并进行一定的管理,从而增强AutoCAD对产品数据的管理功能。总之,将ObjectARX、MFC和DAO三者进行有机结合,将各自优势溶于一体,在VisualC++环境下去开发AutoCAD应用程序将成为AutoCAD二次开发的主流。