VC++中Ontimer调用数据库读数问题,该函数每次读数都从第一个度起,怎样能让他一个个往下读?

[复制链接]
查看11 | 回复3 | 2012-4-10 09:01:50 | 显示全部楼层 |阅读模式
应该在document创建的时候,打开数据库,对数据库的读取和读取后的记录的位置也应该在document中进行,提供访问接口。比如在document中增加成员函数int ReadDb(),返回值就是读取的数值。这样就可以了。下面是一种实现方式,仅供参考。1、首先在document中定义如下成员变量:private:
CDaoRecordset * m_pRs;//dao的访问对象指针,在初始化时使用;int m_j; //读到的数据裤记录个数;public:
void InitDb();
//初始化数据库int ReadDb();2、成员函数的实现:void CXXXDoc::I...
回复

使用道具 举报

千问 | 2012-4-10 09:01:50 | 显示全部楼层
你的代码就执行了一个读取操作,然后弹出显示,然后记录集游标下移,然后就关闭了,然后程序就退出函数了,那当然读第一个了。如果你要一个个的顺序读,用循环啊,循环一次,rs.MoveNext(),然后rs.GetFieldValue,然后显示,记住循环要判断是否到rs的尾部了...
回复

使用道具 举报

千问 | 2012-4-10 09:01:50 | 显示全部楼层
你这里j有用到么?用静态变量保存位置试试。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行