CRecord::Open()

 

CRecordset类对象表示从数据源中选出的一组记录,该对象使用户能完成在记录间的滚动、更新、过滤、排序等操作。一般而言,都是利用类向导将CRecordset类的子类与数据库的某个表关联起来,8.2.1和8.2.2节就是这样做的。当功能简单时可以直接使用CRcordset类,以下例子统计了UserTable表中权限为0的用户的个数。

#include <afxdb.h>

 

void CEx080103Dlg::OnGetCount()

{

         CDatabase db ;

         db.OpenEx("DSN=Ex080101");

         {

                   CRecordset rs(&db);

                   CString strSql = "SELECT * FROM UserTable where popedom = 0 " ;

                   rs.Open(CRecordset::snapshot,strSql);

                   while(!rs.IsEOF())

                            rs.MoveNext();

                   int iCount = rs.GetRecordCount() ;//获得检索过的记录数

                   rs.Close();

         }

         db.Close();

}

CRecordset对象的打开方式对应用程序性能有很大影响。其中CRecordset::dynaset是动态记录集,可双向滚动。CRecordset::snapshot是静态记录集,可双向滚动。CRecordset::forwardOnly是只读记录集,只能向前滚动。CRecordset::dynamic是可双向滚动的记录集,其他用户对成员身份、排序以及数据值所做的更改都是可见的。遗憾的是许多ODBC驱动程序不支持这种类型的记录集。

注意:

(1)数据源的名称没有限制,但要求容易理解。

(2)数据库的位置没有限制,但最好和可执行程序放在一起。

(3)此实例用到的数据库在8.1.1节已经建立,数据源在8.1.2节已经建立。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值