My (Customer)有一个字段"Active“(YesNo)。我正在使用TADOTable来处理这个表,我希望在我的应用程序状态栏中有一个统计数据,说明有多少客户是活动的,有多少是不活动的。如果我的当前客户是活跃的,我总是可以通过这样写来阅读:
bool isActive = CustomerADOTable->FieldByName("Active")->AsBoolean;但是,如何同时检查所有的记录呢?或者,我真的需要使用TADOQuery和sql语句只是因为这一点?
发布于 2014-09-19 20:40:30
您必须运行一个查询,或者循环遍历表中的所有记录,并统计有多少活动设置为true。
除非您没有多少记录,否则查询将大大加快速度。而查询是正确的方法(Tm)。它的规模会大得多。
发布于 2014-09-19 21:20:05
为了避免循环和自己的查询,可以使用Filter属性。
begin
Showmessage(IntToStr(DS.RecordCount));
DS.Filter := 'Active=true';
DS.Filtered := true;
Showmessage(IntToStr(DS.RecordCount));
DS.Filtered := false;
end;https://stackoverflow.com/questions/25942046
复制相似问题