大家看看这个循环错到哪儿了

guess1975 2004-12-03 04:20:06
在DBGrid中输入数据如下(这些数据并没有提交到数据库中)
名称 金额
葡萄糖 21.00
氨基酸 19.00
白加黑 35.00
我想统计这些数据的总金额,最后在Edit中显示74
做了一个Button,写代码如下
void __fastcall TForm8::Button4Click(TObject *Sender)
{
float sum=0;
for (int i=0;i<Query2->RecordCount;i++)
sum=sum+Query2JINE->AsFloat;
Edit1->Text=sum;
}
可是当我执行Button时,Edit中显示的并不是74 而是105 真是莫名其妙,这个数字是怎么得来的,如何修改以上代码,才能正确显示74
...全文
57 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
guess1975 2004-12-03
  • 打赏
  • 举报
回复
谢谢你,谢谢谢谢,你解决我一个大问题,几天的问题啊,我的头现在还疼着呢, 你帮我解决了
真不知道如何感谢你,给分给分,现在就给
gangAndgang 2004-12-03
  • 打赏
  • 举报
回复
呵呵,晕
105=35*5

你有一个大大的错误:太晕了,居然是这样的错误:
for (int i=0;i<Query2->RecordCount;i++)
sum=sum+Query2JINE->AsFloat;
我怎么没在这之中找到你循环记录的语句:)
这样写吧

for (Query2->First();!Query2->Eof;Query2->Next())
sum=sum+Query2JINE->AsFloat;

niiv 2004-12-03
  • 打赏
  • 举报
回复
我觉得你提供的资料未必是足够的,你可以在sum=sum+Query2JINE->AsFloat;这一句设个断点(按F5), 看一看循环到底执行了多少次,每次sum的值是多少,Query2JINE->AsFloat又是多少,相信会有所斩获。
guess1975 2004-12-03
  • 打赏
  • 举报
回复
搞错了,搞错了,不是74 应该是75
这个问题给我弄的晕头转向

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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