表中有公司名称、行业类型等字段,统计表中的客户公司的行业类型
ADOQuery1.SQL.Add('select 行业类型,count(行业类型) as 客户公司数量 ');
ADOQuery1.SQL.Add('from 客户 ');
ADOQuery1.SQL.Add('Group By 行业类型 ');
ADOQuery1.SQL.Add('order by count(行业类型) Desc');输出字段:行业类型      客户公司数量
    电子      10
    橡胶       5
    冶金       3
正题:     ....      ...
怎样将得到的第一条记录的个个字段值赋值给变量
hy:string;
sl:integer;我要的结果  hy:='电子'; sl:=10;
程序怎么写

解决方案 »

  1.   

    var 
    s1:strings;
    s2:integer;
    begin
    ADOQuery1.first;
    s1:=ADOQuery1.FieldByName('行业类型').asstring;
    s2:=ADOQuery1.FieldByName('客户公司数量).asinteger;
    end;
      

  2.   

    ok
    那么
    第二条就是要
    ADOQuery1.next?有咩有办法指定第几条的
    否则如果我要第十条的话
    那不就是要next9次
      

  3.   

    下面我是取了7个,你可以动态的定义这个数目,你自己想怎样动态加入吧,我要下班了;
    ADOQuery1.SQL.Add('select top 7 行业类型,count(行业类型) as 客户公司数量 ');
    ADOQuery1.SQL.Add('from 客户 ');
    ADOQuery1.SQL.Add('Group By 行业类型 ');
    ADOQuery1.SQL.Add('order by count(行业类型) Desc');
    这样你就可以:
    ADOQuery1.first;
    for i:=0 to 6 do begin
    s1[i]:=ADOQuery1.FieldByName('行业类型').asstring;
    s2[i]:=ADOQuery1.FieldByName('客户公司数量).asinteger;
    ADOQuery1.next
    end;