请教下:如何在TADOQuery产生的结果中搜索一定条件的数据?比如在里面找某个字段的最大值?
请教下:如何在TADOQuery产生的结果中搜索一定条件的数据?比如在里面找某个字段的最大值?
[解决办法]
应该直接在SQL语句中选择如下:
select * from jh
where code=(select max(code) from jh)//利用迁入语句把最大的选择出来,再关联。就可。
[解决办法]
赞成直接使用SQL
select max(field1) from (select * from tablename where 条件) group by field1
[解决办法]
如果非得在查询结果进行查找,就对记录集进行“地毯式”搜索。
假定所要查找字段是数字类型
以下方法可以查找最大值,同时定位到该记录。
adsData 是 TADODataSet对象。
大概代码如下:
var
recNo: integer;
maxValue: double;
begin
adsData.DisableControls;
adsData.First;
maxValue := adsData.FieldByName(字段名称).AsFloat;
while not adsData.Eof do
begin
if maxValue<adsData.FieldByName(字段名称).AsFloat then
begin
recNo := adsData.RecNo;
maxValue := adsData.FieldByName(字段名称).AsFloat;
end;
adsData.Next;
end;
adsData.RecNo := RecNo;
adsData.EnableControls;
end;