-2

我正在使用带有delphi 7的访问数据库,并且我有注册学生的记录。我想要一个代码,可以在表格的标签上显示数据库中的男学生数量,以及在另一个标签上显示女学生的数量。access 数据库中的字段名是性别,而数据类型是男性和女性。因此,如果男学生的数量是 20 和 30 女,它应该在一个标签上显示 20 名,在另一个标签上显示 30 名女学生。有没有一个简单的代码我可以使用带有数据源 1 的 adoquery1 来做到这一点,我用它来保存数据库中的记录?字段名称包括 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 回答