+ -
当前位置:首页 → 问答吧 → 请教一下DBGRIDEH的操作

请教一下DBGRIDEH的操作

时间:2011-11-08

来源:互联网

如何将查询后显示在DBGRIDEH中的某个字段值(可能有空值)求和并用其它控件显示出来,如EDIT1.TEXT:='XX';?

作者: lenny_wants   发布时间: 2011-11-08

1 与其在dbgrideh里做,不如查询时就在sql里做好
2 循环遍历dbgrideh的行列求和

作者: funxu   发布时间: 2011-11-08

请教一下怎么写,我比较菜。。。比如求4、5列的和

作者: lenny_wants   发布时间: 2011-11-08

先查询
qry1.close;
qry1.sql.clear;
qry1.sql.add(select sum(字段名) as 总和 from 表名');
qry1.open;
再将值传到EDIT里面
edit1.text:=qry1.fieldbyname('总和').asstring;

作者: changfenglee   发布时间: 2011-11-08

引用 3 楼 changfenglee 的回复:
先查询
qry1.close;
qry1.sql.clear;
qry1.sql.add(select sum(字段名) as 总和 from 表名');
qry1.open;
再将值传到EDIT里面
edit1.text:=qry1.fieldbyname('总和').asstring;
因为是联合查询后显示出来的,并没有专门的表存储,所以我觉得2楼的应该是正确的,只是不知道如何实现

作者: lenny_wants   发布时间: 2011-11-08

联合查询也能求和撒。最好在sql里面求出来,遍历求和效率太低哈。
sql可以写复杂点,如果计算列太多,就写存储过程。然后把结果返回就行了。

作者: cuiziqi   发布时间: 2011-11-08