在网络上搜索,没找到合适的答案,我要实现的就是,通过搜索条件搜索到的数据显示在DBGrid表中,然后统计DBGrid某列的值,用label显示出来就可以了。

解决方案 »

  1.   

    with adoquery do
    begin
      sql.clear;
      sql.text := 'select sum(某列) from 某表';
      open;
    end;
      label1.caption := adoquery.field.fields[0].asstring;
      

  2.   

    DBGrid好象没有自动统计某列值,要不然就循环求和,要不然换一个其他的控件比如cxgrid
      

  3.   

    另外 DBGridEh有自动统计的功能
      

  4.   

    DBGridEh 的自动统计功能如何使用?
    循环求和如何做?
      

  5.   

    WITH DBGRID.DATASET DO
    BEGIN
      FIRST;
      WHILE NOT EOF DO
      BEGIN
        SUMA := FIELDBYNAME('AAAA').ASFLOAT;
        NEXT;
      END;
    END;
      

  6.   

    方法很多:
    1.利用SQL求和匯總SUM
    2.代碼:
    ...
    sum:=0;
    for i:=0 to adoquery1.RecordCount-1 do
       sum:= sum+adoquery1FieldByName('求和列').AsFloat; 
    ... 
    3.代碼:var
    bookMark: TBookMark;
       sum:=0;
       bookMark:=dbgrid1.DataSource.DataSet.GetBook;
       dbgrid1.DataSource.DataSet.DisableControls;
       dbgrid1.DataSource.DataSet.First;
       for i:=0 to dbgrid1.DataSource.DataSet.RecordCount-1 do
       begin
         sum:=sum+dbgrid1.DataSource.DataSet.FieldByName('求和字段名').Value;
         dbgrid1.DataSource.DataSet.Next;
       end;
       dbgrid1.DataSource.DataSet.GotoBook(bookMark);
       dbgrid1.DataSource.DataSet.EnableControls;