建设有一个adoDataset或adoQuery 并已成功获得了数据如下  c_bh    c_name     c_sale
 -------------------------------
   001     a         100.00
   002     b         200.00
   003     c         300.00             <-----> 对应 DBGrid1         
   004     d         400.00
   005     e         500.00 
 -------------------------------
  
 我如何对 c_sale 由上至下求和应该写在哪个事件里呢? 并且对数据集 filter 的时候
 也应该好用!  比如 ehGrid 组件版中有个求和的sum组件,但是对于普通的数据集我怎么处理呢? 我是新手,希望各位高手帮忙看一下! 在此谢谢啦!

解决方案 »

  1.   


    太简单拉。
    用sql语句呀。你用adoquery的时候这样写,有次性出来明细和汇总。adoquery.close;
    adoquery.sql.clear;
    adoquery.sql.add('select  c_bh , c_name , c_sale from table');adoquery.sql.add('union ');adoquery.sql.add('select ''合计'' as c_bh,'' '' as c_name, sum(c_sale) as c_sale from table ');
    adoquery.execsql;
    记得给分哦。如果这个你都看不懂,以后就别写程序了。
      

  2.   

    上面这个查询将出来这样的结果,显示在dbgrid上:
      
       001     a         100.00
       002     b         200.00
       003     c         300.00            
       004     d         400.00
       005     e         500.00 
       合计             1500.00