DAO 库扩展






3.80/5 (7投票s)
2002年3月5日
2分钟阅读

89376

1565
我添加的 DAO 功能使数据库读写更加容易。
引言
DAO 数据库库 DLL
我注意到使用 DAO 数据库和记录集通常很乏味且耗时,这就是我创建这个 DAO 数据库库的原因。我的目标是创建一个库,以加快使用 DAO 时的编码时间。我的类继承自基础 DAO 类,因此不会丢失任何功能。
我的库允许你:
- 快速打开数据库和记录集对象,
- 快速关闭它们而无需担心内存泄漏,
- 轻松地从数据库读取和写入特定数据类型。
这些函数并非旨在取代 CDaoDatabase
/CDaoRecordset
功能,而是扩展它们以减少编码。
I. DLL 设置
1. 打开项目并使用“全部重新生成”编译 DLL,它将在你的 release 文件夹中为你创建一个 .dll 和 .lib 文件。
II. 客户端 EXE 设置
- 在项目 -> 设置 -> 链接 -> 对象库 中包含 daolibrary.lib
- 在 Release 文件夹中添加 daolibrary.dll
- 在项目工作区中添加 daolibrary.lib
- 将 dllHeader.h 添加到项目,并在客户端 .cpp 文件中添加以下行。
#include "dllHeader.h" CDaoDB db; // database CDaoRS rs; // recordset
可用函数
CDaoDB 文档 类 CDaoDB 扩展了 CDaoDatabase 类
bool CDaoDB::dbOpen(CString strFilePathName);
给定一个带有路径的数据库文件名,打开与 CDaoDatabase
的连接。
bool CDaoDB::dbClose();
关闭 CDaoDatabase
,删除变量以防止内存泄漏。
CString CDaoDB::GetTableName(int tableNum);
返回基于表编号的表名。
CDaoRS 文档 类 CDaoRS 扩展了 CDaoRecordset 类 bool CDaoRS::rsOpen(CString sql,CDaoDatabase* db);
给定 sql 和数据库,打开与 CDaoRecordset 的连接。例如:
rs.rsOpen("SELECT * FROM TABLE",database.db);
*请注意,这会将记录集作为 dbOpenDynaset
打开
bool CDaoRS::rsClose();
关闭 CDaoRecordset
,删除变量以防止内存泄漏。
double CDaoRS::GetAsDouble(int col);
从记录集中的指定列返回一个 double 值。
int CDaoRS::GetAsInt(int col);
从记录集中的指定列返回一个 int 值。
long CDaoRS::GetAsLong(int col);
从记录集中的指定列返回一个 long 值。
CString CDaoRS::GetAsString(int col);
从记录集中的指定列返回一个 long 值。
CString CDaoRS::GetDateAsString(int col);
从记录集中的指定列返回一个 CString 格式的日期值。 CString
将以 mm/dd/yyy 格式返回。
CString CDaoRS::GetTimeAsString(int col);
从记录集中的指定列返回一个 CString 格式的日期值。 CString
将以 hh:mm:ss 格式返回。
void CDaoRS::SetAsString(CString field,CString string);
将记录集中的指定字段名设置为 CString
值字符串。
void CDaoRS::SetAsInt(CString field,int integer);
将记录集中的指定字段名设置为整数值 int。
void CDaoRS::SetAsLong(CString field,long lngValue);
将记录集中的指定字段名设置为 long 值 lngValue
。
void CDaoRS::SetAsDouble(CString field,double dblValue);
将记录集中的指定字段名设置为 double 值 dblValue
。
CString CDaoRS::GetFieldName(int col);
返回记录集中指定列号的字段名称。
int CDaoRS::GetRecordCount();
返回记录集中的记录数。
请为此处您希望看到的其他功能提出建议。示例客户端应用程序即将推出...