65.9K
CodeProject 正在变化。 阅读更多。
Home

DAO 库扩展

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.80/5 (7投票s)

2002年3月5日

2分钟阅读

viewsIcon

89376

downloadIcon

1565

我添加的 DAO 功能使数据库读写更加容易。

引言

DAO 数据库库 DLL

我注意到使用 DAO 数据库和记录集通常很乏味且耗时,这就是我创建这个 DAO 数据库库的原因。我的目标是创建一个库,以加快使用 DAO 时的编码时间。我的类继承自基础 DAO 类,因此不会丢失任何功能。

我的库允许你:

  1. 快速打开数据库和记录集对象,
  2. 快速关闭它们而无需担心内存泄漏,
  3. 轻松地从数据库读取和写入特定数据类型。

这些函数并非旨在取代 CDaoDatabase/CDaoRecordset 功能,而是扩展它们以减少编码。

I. DLL 设置

1. 打开项目并使用“全部重新生成”编译 DLL,它将在你的 release 文件夹中为你创建一个 .dll 和 .lib 文件。

II. 客户端 EXE 设置

  1. 在项目 -> 设置 -> 链接 -> 对象库 中包含 daolibrary.lib
  2. 在 Release 文件夹中添加 daolibrary.dll
  3. 在项目工作区中添加 daolibrary.lib
  4. 将 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();

返回记录集中的记录数。

请为此处您希望看到的其他功能提出建议。示例客户端应用程序即将推出...

© . All rights reserved.