数据汇总的 问题(十万火急工程快验收了)(200分)

  • 主题发起人 主题发起人 arm
  • 开始时间 开始时间
A

arm

Unregistered / Unconfirmed
GUEST, unregistred user!
用ORACLE 8 ,有一个字段为NUMBER(12,2)的类型
用SELECT SUM () FROM 统计正常,
在QUERY用SUM:=SUM+FIELDS[0]。ASFLOAT//Var SUM:SINGLE;
结果与SQL的总是不一样
 
var
sum:double; ///

sum :=0;
sum :=sum+query1.Fields[0].AsFloat ;
edit1.text:=format('sum is %n',[sum]);
在SQL SERVER下运行正常.

 
用循环是次数是否正确?
试试query1.fields[0].value
 
用currency试试
 
循环是否正确?

可以用
query.first
while not query.eof do
begin
....
query.next
end

这样来循环
 
我试过,得到的是正确答案。

将你的代码帖出来看看!
 
不应该有错误呀
 
大概是精度的问题吧?如果是,用currrency解决!
 
几点需要注意,Query的返回结果中,字段的排列顺序;变量最好用Real;
循环的初值条件与结束条件;另一个很重要,对返回字段内容为空值时的处理;
如果还不行,则只有跟踪数据,看看Query返回结果的记录是否正确。
 
将变量SUM赋初值为零,应该没问题
 
多人接受答案了。
 
后退
顶部