基础数据库问题。

realmud 2003-05-23 10:54:36
在用Delphi对数据库操作时出现如下错误

table1
no money1 money2
1 0 1200
2 0 0
3 0 0
4 0 -1200
程序
var
all:double;

all:=0;
min:=0;
max:=table1.RecordCount;
table1.First;
for i :=min to max do
begin
all:=all+table1.FieldByName('money1').value+table1.FieldByName('money2').value;
table1.next;
end;


但是加出来的结果不是我所要的总和0 而是 -1200
请问这是什么原因造成的,谢谢
...全文
18 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
viaboy 2003-05-23
  • 打赏
  • 举报
回复
在这种情况下:用三楼的方法比较合适。
tabla.first;
while not table.eof do
begin
----
---
table.next;
end;
imageonline 2003-05-23
  • 打赏
  • 举报
回复
你把最后一条记录加了两次,一般用dataset.eof来判断的,楼上的已可解决问题

--------------------------
--------------------------
--------------------------
chengr9754 2003-05-23
  • 打赏
  • 举报
回复
循环次数多了一次
max:=table1.RecordCount-1;
WWWWA 2003-05-23
  • 打赏
  • 举报
回复
WHILE NOT TABLE1.EOF DO

WWWWA 2003-05-23
  • 打赏
  • 举报
回复
ALL:=0
WHILE NTOT TABLE1.EOF DO
BEGIN
all:=all+table1.FieldByName('money1').value+table1.FieldByName('money2').value;

TABLE1.NEXT;
END;
louiedf 2003-05-23
  • 打赏
  • 举报
回复
hehe
0~~4
循环了几次啊?
而你的记录数呢?

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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