select count(*) from table1 where dm='002'

解决方案 »

  1.   

    query.sql.add('select count(*) sumdm from table1 where dm=''002''');
    xy:= query.fieldbyname('sumdm').asinteger;
      

  2.   

    cobi(我是小新,我只有5岁)你好!谢谢你经常回答我的问题,可我不知道怎么给分给你,因为我刚来时间不长.
      

  3.   

    procedure Tbmdm.Button2Click(Sender: TObject);
    var
     xy:integer;
    begin
    query1.sql.add('select count(*) sumdm from table1 where dm=''002''');
    xy:= query1.fieldbyname('sumdm').asinteger;
    end;
    上面是语句,可运行到xy:= query1.fieldbyname('sumdm').asinteger;这一句时,就出错,说是没发现sumdm
      

  4.   

    Var
    xy:integer;
    begin
    query1.sql.clear;
    query1.sql.add('select count(*) from table1 where dm=''002''');
    query1.open;
    xy:= query1.fields[0].asinteger;
    end;
      

  5.   

    两种做法
    1. 有 index 的 SetRange( [002],[002] ), 然后 RecordCount
    2. 没 index 的 filter = 'xxx=002', 然后 filtered = true, 取RecordCount, Filtered = false
      

  6.   

    说明:下面语句到这一句table1.filter:='dw=河南省';就出错是: table1:field '河南省' not found;。可dm和dw都是table1的2个字段都是字符型的,为什么dm能够查到,而dw却不能用呢。
    var
    recdm,recdw:integer;
    begin
       table1.filter:='dm=02';
       table1.filtered:=true;
       recdm:=table1.RecordCount;
       table1.filtered:=false;   table1.filter:='dw=河南省';//运行到这里就出错
       table1.filtered:=true;
       recdw:=table1.RecordCount;
       table1.filtered:=false;
    end;
    我主要是想达到统计dm=02有多少条记录和dw=河南省的有多少条记录。当然是有其他方法,但我搞不懂,这里错在那儿,请指教!