当前位置:编程学习 > VC++ >>

在VC++中建立自定义数据库类

 

 

摘要

---- 本文较为详细的介绍了一个使用ODBC对数据库进行操作的

CdataBaseOperate类的建立,并给出了几个主要函数的具体实现,以及该类

在实际的应用程序中的使用。

 

---- 众所周知VC++的MFC类库为编程者编制好了对数据库操作的类,编程者可

以使用向导建立一个与数据库联结并对数据库进行操作的应用程序,不需要编

制任何代码,这无疑为编程人员提供了一个捷径。但是,使用向导时只有选用基

于单文档或多文档的项目才能选择数据源,与指定的的数据库相连,对用向导生成

的基于对话框的应用程序不提供数据库的支持。即使是基于单文档或多文档的

应用程序,当需要一些特殊的操作,例如,打开一个表,要求返回满足一定条件

的记录集时,MFC并没有提供完全符合要求的现成函数。如果,能利用MFC所提

供的数据库操作,再加上自己设计的函数,也就是说,设计一个对数据库操作

的类,在程序中手工加入这个类,那么就可以在基于对话框的应用程序中实现对

数据库的操作,而且,也可以针对自己应用程序的具体需要来设计类的函数,为

特定功能的实现提供了很大的方便。

 

---- 在一个涉及数据库操作的应用程序中,常用到的MFC类有CdaoDatabase类、

CdaoTableDef类、CdaoRecordset类和 CdaoQueryDef类,当对数据库进行操作

时,需要先打开数据库,然后打开数据库中的表,再得到查询集和记录集。在自

己定义的类中综合这四个类的操作,设计一个打开表得到查询集和记录集的函

数,以后,在应用程序中使用该类时只需包含该类的头文件,所设计的函数就

可以直接调用了。

 

---- 建立数据库类的过程可分为如下四步:

 

---- 一、定义一个无基类的CdataBaseOperate类

 

---- 1、在Workspace窗口选择ClassView选项卡,在树型类结构图的根部单击

鼠标右键,选择New Class…,系统将弹出建立新类的对话框;

 

---- 2、在Class type中选择Generic Class;

 

---- 3、在Name中填写要建的新类的名称,要以大写字母C开头,系统会自动建立

新类的头文件和实现文件,文件的名称为类名去掉第一个大写字母C,如果想改变

文件的名称,可以单击change按钮.

 

---- 4、在填写好各项后,按OK按钮确定,一个无基类的新类建立成功,但,他

还是一个空类,下一步,就要给类添加内容.

 

---- 二、在自定义的类中加入有关的定义

 

---- 1、在本应用程序中,使用ODBC与SQL SERVER的数据库相连,因而,在类的

实现文件构造函数前加入如下的定义: #define SQL_DATABASE _T("ODBC;

DSN=sql-database;UID=sa;PWD=pass;") DSN=sql-database表示建立的ODBC联

接的名称是sql-database,如果选用其他数据库,只需在此改变与所需数据库建

立的联接,或是重新配置sql-database 使之联接新的数据库。UID=sa;PWD=pass

表示登录数据库的用户名是sa,密码是pass,如果密码是空则表示为PWD=""。

 

---- 2、在该类中综合使用到了MFC类库提供的有关数据库的几个类

CdaoDatabase类、CdaoTableDef类、CdaoRecordset类和CdaoQueryDef类,

而这四个类的定义和实现都包括在头文件afxdao.h中,因此,在新定义的类

的头文件中一定要加上语句:

 

 #include < afxdao.h >;

 

---- 3、对要用到的四个类各声明一个对象如下:

     CDaoDatabase* loc_pDataBase;    

    CDaoTableDef* loc_pTable;

    CDaoRecordset loc_pRecordset;

    CDaoQueryDef* loc_pQueryDef;

 

---- 其中CdaoDatabase类、CdaoTableDef类和CdaoQueryDef类定义了对象指针,

在使用时要先new,最后要delete。以CdaoDatabase类为例,在

CdataBaseOperate类的构造函数中初始化对象指针 loc_pDataBase=new CDaoDatabase;在析构函数中要释放该指针delete loc_pDataBase;

---- 三、在自定义的类中加入所需的函数和变量

 

---- 手工加入函数包括两项工作,首先在头文件中加入函数的声明,然后,在

实现文件中加入函数的具体实现,声明与实现一定要统一;

 

---- 使用向导加入函数和变量:

 

---- 1、在Workspace窗口选择ClassView选项卡;

 

补充:软件开发 , Vc ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,