這樣的事情應該可以做到。
AdoQuery1.Active:= false;
AdoQuery1.SQL.Text:= ' select gender, count(*) as cnt from atable '
+' where something = 10 '
+' group by gender '
+' order by (gender = "M") ';
AdoQuery1.Active:= true;
DataSrc:= TDataSource.Create(Self);
DataSrc.DataSet:= AdoQuery1;
DataSrc.Enabled:= true;
DataSrc.FindFirst;
if lowercase((DataSrc.FieldByName('gender')) = 'm' then begin
LabelMale.Caption:= DataSrc.FieldByName('cnt').AsString;
Success:= DataSrc.FindNext;
end
else LabelMale.Caption:= 'none';
if (Success) and (lowercase((DataSrc.FieldByName('gender')) = 'f') then begin
LabelFemale.Caption:= DataSrc.FieldByName('cnt').AsString;
end
else LabelFemale.Caption:= 'none';
是的,有一種方法可以在數據源中使用adoquery。但是,我不能提供幫助,因爲您沒有提供有關數據庫架構的信息,沒有示例數據,沒有您希望獲得的輸出示例,也沒有嘗試自己編寫SQL這樣做。 (這是一個使用'COUNT'和'GROUP BY'的簡單查詢,但沒有關於數據庫模式的信息,因此很難提供示例。)請[編輯]提供更具體的信息,以便我們嘗試和幫助您。我們無法從我們坐的位置看到您的屏幕。 –