请教下:如何在TADOQuery产生的结果中搜索一定条件的数据?比如在里面找某个字段的最大值?

解决方案 »

  1.   

    应该直接在SQL语句中选择如下:
    select * from jh
    where code=(select max(code) from jh)//利用迁入语句把最大的选择出来,再关联。就可。
      

  2.   

    赞成直接使用SQL
    select max(field1) from (select * from tablename where 条件) group by field1
      

  3.   

    两个方法:
    1、将你的查询结果放到一个内存数据库中去,然后在将最大的值选择出来;2、利用三方控件,好像是cxGrid吧(不好意思,记不太清了),这个控件自己带这种操作,类似于Excel的检索
      

  4.   

    如果非得在查询结果进行查找,就对记录集进行“地毯式”搜索。假定所要查找字段是数字类型
    以下方法可以查找最大值,同时定位到该记录。
    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;
      

  5.   

    放个TCOMBOBOX装第一次查询的,再从tcombobox找你要的,select