Delphi 如何在标签中显示已筛选记录的数量
我正在使用delphi 7的access数据库,我有注册学生的记录。我想要一个代码,可以在表格的标签上显示数据库中的男生人数,也可以在另一个标签上显示女生人数。access数据库中的字段名为性别,而数据类型为男性和女性。因此,如果男生的数量是20,女生的数量是30,那么应该在一个标签上显示20,在另一个标签上显示30。是否有一个简单的代码,我可以使用一个adoquery1和一个我用来保存数据库记录的数据源1来做到这一点? 字段名包括Delphi 如何在标签中显示已筛选记录的数量,delphi,delphi-7,Delphi,Delphi 7,我正在使用delphi 7的access数据库,我有注册学生的记录。我想要一个代码,可以在表格的标签上显示数据库中的男生人数,也可以在另一个标签上显示女生人数。access数据库中的字段名为性别,而数据类型为男性和女性。因此,如果男生的数量是20,女生的数量是30,那么应该在一个标签上显示20,在另一个标签上显示30。是否有一个简单的代码,我可以使用一个adoquery1和一个我用来保存数据库记录的数据源1来做到这一点? 字段名包括 Firstname Othername and Gender像
Firstname Othername and Gender像这样的东西应该可以奏效
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
和groupby
的简单查询,但如果没有数据库模式的信息,很难提供示例。)请提供更具体的信息,以便我们尝试帮助您。从我们坐的地方看不到你的屏幕。