在用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
请问这是什么原因造成的,谢谢

解决方案 »

  1.   

    hehe 
    0~~4
    循环了几次啊?
    而你的记录数呢?
      

  2.   

    ALL:=0
    WHILE NTOT TABLE1.EOF DO
    BEGIN
    all:=all+table1.FieldByName('money1').value+table1.FieldByName('money2').value;
       
    TABLE1.NEXT;
    END;
      

  3.   

    WHILE NOT TABLE1.EOF DO
      

  4.   

    循环次数多了一次
    max:=table1.RecordCount-1;
      

  5.   

    你把最后一条记录加了两次,一般用dataset.eof来判断的,楼上的已可解决问题--------------------------
    --------------------------
    --------------------------
      

  6.   

    在这种情况下:用三楼的方法比较合适。
    tabla.first;
    while not table.eof do
    begin
    ----
    ---
    table.next;
    end;