名单  质量   
小麦   优质  
大米   一般 
小麦   优质  
大米   一般 
小麦   差    
DataModule1.AQueryzhanji.Close;
Datamodule1.AQueryzhanji.SQL.Clear;
DataModule1.AQueryzhanji.SQL.Add('select count(*) from 表 order by 质量');  //查询所有;
DataModule1.AQueryzhanji.Open;
这样查询出来的数据应该是关于质量数据的一列三条数据,如何用label将这三条数据同时显示出来呢?

解决方案 »

  1.   

    DataModule1.AQueryzhanji.SQL.Add('select count(*) from 表 group by 质量');
      

  2.   

    用DataModule1.AQueryzhanji.SQL.Add('select count(*)  as  数量 from 表 group by 质量');
    一个循环
    DataModule1.AQueryzhanji.First;
    label1.caption:='';
    while  not  DataModule1.AQueryzhanji.eof  do 
    begin
      if label1.caption<>'' then 
        label1.caption:=label1.caption+#13+DataModule1.AQueryzhanji.FieldByName('数量').AsString
      else label1.caption:=DataModule1.AQueryzhanji.FieldByName('数量').AsString;
      DataModule1.AQueryzhanji.netxt;
    end;
      

  3.   

    while DataModule1.AQueryzhanji.eof do 
    label1.caption:=label1.caption+DataModule1.AQueryzhanjiFieldByName('数量').AsString+#13;
      

  4.   

    with DataModule1.AQueryzhanji do
    begin
      close;
      sql.text:=''select count(*)  as  数量 from 表 group by 质量';
      open;  label1.caption:='';  while not eof do
      begin
        if trim(label1.caption)='' then
          label1.caption:=FieldByName('数量').AsString
        else
          label1.caption:=label1.caption+#13+FieldByName('数量').AsString;
        next;
      end;
    end;
      

  5.   

    var
      sSQL: String;
      sl: TStringList;
      i,j: Integer;
    begin
      sl := TStringList.Create;
      Label1.Caption := '';
      sSQL := 'SELECT DISTINCT QualLevel FROM  YourTable';
      with ADOQuery1 do
      begin
        Close;
        SQL.Clear;
        SQL.Add(sSQL);
        Open;    sl.Clear;
        while not eof do
        begin
          sl.Add(FieldByName('QualLevel').AsString);
          Label1.Caption := Label1.Caption+'       '+FieldByName('QualLevel').AsString;
          next;
        end;
      end;
      sl.Free;
    end;
      

  6.   

    'select count(*) from 表 order by 质量'-------------------你执行这个语句能得到一列三条数据吗、?不会吧,明明就一列一条数据阿。
      

  7.   

    用Label显示数据?晕……
    楼上正解,补充一下,你忘了end。另外,最好用label1.width:=8*(length(label.caption))来控制一下label的宽度,免得过长显示不全或者过短不好看
      

  8.   

    楼上指的 sixgj(轰炸机),呵呵,刚才没有立即回复