sp; {
m_nRecordNumber++;
loc_pRecordset.MoveNext( );
}
return TRUE;
}
---- 为了维护数据库的安全,表用过后应该关闭,关闭表的同时,要释放在打开表的操作时初始化的对象指针,例如:delete loc_pQueryDef。同样要注意,在构造函数中初始化的对象指针,在析构函数中一定要释放。对象指针的初始化和释放是成对出现的。
loc_pDataBase=new CDaoDatabase;
//在构造函数中初始化对象指针。
delete loc_pDataBase;
//在析构函数中释放该对象指针。
---- 四、CdataBaseOperate类的应用
---- 1、使用VC++的向导生成一个应用
程序,可以根据需要选择基于对话框或是基于单、多文档,选择单文档或多文档时不要选择数据库支持。
---- 2、在应用
程序的主头文件中加入#include "DataBaseOperate.h",并且还要声明一个CdataBaseOperate类的对象,public: CDataBaseOperate m_CDataBaseOperate;
---- 3、有了指向CdataBaseOperate类的对象后,刚刚在CdataBaseOperate类中编制的函数都可以通过
"m_CdataBaseOperate .函数名"来调用。
小结:
---- 本文是VC++6.0下的CdataBaseOperate类建立与应用的一个初步探讨,CdataBaseOperate类所实现的功能是很强大的。除了介绍的CdataBaseOperate类的几个基本而又常用的函数之外,CdataBaseOperate还有很多用于其他方面的功能函数,在此不一一介绍。CdataBaseOperate类的函数,实现了数据库内容的显示、修改、添加、删除等功能,基本上满足了数据库操作人员的需要。除了这些,编程人员还可以根据
程序的需要定义自己的特有的函数。
---- 本文所提供的程序均在VC++ 6.0中编译通过。
---- 附录:CdataBaseOperate类的头文件和原文件
附录:CdataBaseOperate类的头文件和原文件:
// DataBaseOperate.h: interface for the CDataBaseOperate class.
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_DATABASEOPERATE_H__90468D61_8978_11D3_BA46_000021ECD4C4__INCLUDED_)
#define AFX_DATABASEOPERATE_H__90468D61_8978_11D3_BA46_000021ECD4C4__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <afxdao.h>
class CDataBaseOperate
{public:
CDataBaseOperate();
virtual ~CDataBaseOperate();
CDaoDatabase* loc_pDataBase;
CDaoTableDef* loc_pTable;
CDaoRecordset loc_pRecordset;
CDaoQueryDef* loc_pQueryDef;
//以下的五个变量代表从一个数据库中得到一条记录的值
CString m_strZTNRvalue,m_strDAvalue,m_strBZvalue;
long m_nNDXSvalue;
double m_nFZvalue;
CString m_strTableName; //得到要打开的表名
int m_nNumberPosition; //记住一开始带入的记录位置
int m_nRecordNumber; //得到打开表的记录数
bool OpenDataBase();
bool OpenTable(CString strTableName); //打开表,带入表名
bool CloseTable(); //在打开其他的表时,先关闭已打开的表
//得到一条记录的值,值放在以上五个变量中,带入的参数为要得到的记录序号
bool GetRe