点击dbgrid的最后一项时进行如下判断,时对时错

milkwayhong 2004-11-20 09:15:21
我有一个dbgrid,连接adoquery,查找显示后,在点击dbgrid的最后一项时进行如下判断
if(ADOQuery1->Eof == true)
{
Application->MessageBox("没有需要修改的客户!","操作提示",MB_OK);
return;
}
FormModifyMember->Show();
每次都return了,可是先点击其他项,再点击最后一项,又可以Show()了,为什么呀!!!
我在另外一个窗体中也是这么做的,没有这个问题
...全文
112 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
free1688 2004-11-25
  • 打赏
  • 举报
回复
加入一个简单的if判断代码就可以了。
hudaojin 2004-11-25
  • 打赏
  • 举报
回复
在最后一行时可能是eof 为真,也可能eof 为假的
你使用ADOQuery1->RecNo == ADOQuery1->RecordCount
进行判断就行了
最后一行时为真,非最后一行时为假!
qwa 2004-11-25
  • 打赏
  • 举报
回复
数据在DBGrid上显示的时候,直接就会把Eof设置为true的,这个和ADOQuery->Last()一样的道理。
sunliwen780502 2004-11-21
  • 打赏
  • 举报
回复
把return 去掉或者改为exit(0);
milkwayhong 2004-11-20
  • 打赏
  • 举报
回复
问题还在,而且你那样改是没有实质变化的
h98458 2004-11-20
  • 打赏
  • 举报
回复
这样:
if(!ADOQuery1->Eof )

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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