DBGrid表如下:
rno       money      
001         0.5
001         2.0
001          5
002          0.5
004          5
如何统计DBGird上全部money是0.5的行数,5的行数

解决方案 »

  1.   

    有多种方法
    如,1.在数据库查询出来的时候就统计好,然后直接显示
        2.用DbGrid中的记录集进行处理也能统计出来
      

  2.   

    adoquery.recordcount 这样不就知道啦
      

  3.   

    adoquery1的SQL语句
    select count(*)  as   行数1  from 你的表 where money=5
    adoquery2的SQL语句
    select count(*)  as   行数2  from 你的表 where money=0.5money是0.5的行数    :=adoquery1.fieldbyname('行数1').asstring;5的行数    :=adoquery2.fieldbyname('行数2').asstring;
      

  4.   

      我要是有几百个不同的值 ,你这样写代码要多长了?  cxgrid有个统计功能,通过筛选能得么你想要的个数。
      

  5.   


    要是数据很多
    你可以用group来取得
    select money,count(*) as 行数 from list  group by money order by money这个结果就是
    money 行数
    0.5    2
    2.0    1
    5      2cxgrid其实也是group,不过数据量大了会很慢的。cxgrid,呵呵,我要有几十万条数据,俺要等多长时间哦.....................
      

  6.   

    数据少用 adoquery.recordcount 数据多用查询 selec Count(*) from ................
      

  7.   

    统计,或许你可以试试DBGRHDEH
      

  8.   

    还有一个最简单的办法,就是在DBGrid的DrawColumnCell事件中判断。理论这是可行的。不用遍历数据集。
    但是这个方法不敢保证数据的正确性。你可以试试。(这个常常用来做DBGrid的行颜色以及列颜色根据不同的数值进行改变)还有就是遍历数据集,或者直接查询就可以了。
      

  9.   

    都已经在DBGrid里面了,当然是用遍历查一下。如果在SQL数据库里面,用COUNT(*)配合GROUP BY来做就行了。