-2

Delphi 7 でアクセス データベースを使用しており、登録済みの学生の記録があります。データベースの男子学生の数をフォームのラベルに表示し、女子学生の数を別のラベルに表示できるコードが必要です。アクセス データベースのフィールド名は性別で、データ型は男性と女性です。したがって、男子学生の数が 20 人で女子学生が 30 人の場合、あるラベルには 20 人、別のラベルには 30 人の女子学生が表示されるはずです。データベースにレコード?フィールド名には Firstname Othername と Gender が含まれます

4

1 に答える 1

1

このようなものがうまくいくはずです。

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';
于 2013-10-02T17:03:30.700 に答える