VC数据库ODBC编程(下一条按钮代码)MoveNext

shuai1314920 2008-10-30 05:49:36
我用SQL Server 创建了一个数据库 hospital
用VC++添加数据源"VC++ Hospital"
ODBC

创建一个对话框,显示表“duty”数据,自己添加代码如下:
BOOL CDutyDialogClass::OnInitDialog()
{
CDialog::OnInitDialog();

// TODO: Add extra initialization here
CDatabase db;
db.Open("VC++ Hospital",FALSE,FALSE,_T("ODBC;"),FALSE);
CRecordset dbset;
dbset.m_pDatabase=&db;
CString strsql;
strsql="select * from duty";
dbset.Open(CRecordset::dynamic,strsql);
dbset.GetFieldValue("date_time",m_datetime);
dbset.GetFieldValue("doc_no",m_dno);
dbset.GetFieldValue("nur_no",m_nno);
dbset.GetFieldValue("pat_no",m_pno);
UpdateData(FALSE);
dbset.Close();
db.Close();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}

数据框中显示了四条数据。
现在 我添加“下一条”按钮
编码如下:
void CDutyDialogClass::OnButtonMovenext()
{
// TODO: Add your control notification handler code here
int i=0;

CDatabase db;
db.Open("VC++ Hospital",FALSE,FALSE,_T("ODBC;"),FALSE);
CRecordset dbset;
dbset.m_pDatabase=&db;
CString strsql;
strsql="select * from duty";
dbset.Open(CRecordset::dynamic,strsql);

while (!dbset.IsEOF()&&i==0)
{


dbset.MoveNext();
dbset.GetFieldValue("date_time",m_datetime);
dbset.GetFieldValue("doc_no",m_dno);
dbset.GetFieldValue("nur_no",m_nno);
dbset.GetFieldValue("pat_no",m_pno);
UpdateData(FALSE);

i=1;
}
while(dbset.IsEOF())
{
MessageBox("已是最后一条记录,回滚到第一条!");
dbset.MoveFirst();
dbset.GetFieldValue("date_time",m_datetime);
dbset.GetFieldValue("doc_no",m_dno);
dbset.GetFieldValue("nur_no",m_nno);
dbset.GetFieldValue("pat_no",m_pno);
UpdateData(FALSE);
}

}

接果 只显示到第二条记录 在点击“下一条”按钮就不滚动了


请求: 第一,上面代码错误处

第二,怎么改正 或者 大家直接给我一个新的方法(注:我是菜鸟 好菜 还有我们老师规定只能用代码连接数据库 不可直接用Microsoft Visual c++中工具直接连 所以 书上的有m_pSet的代码都用不了了 )

拜托 拜托 拜托 不管我给多少分 提示无权 抱歉
...全文
120 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧