DBGrid关联的query只能每次从当前位置向前或向后移动,怎样定位到指定记录开始查找呢?每次调用query的RecNo的属性怎么总是返回-1?使用locate或lookup只能查到满足条件的第一条记录,如何移动到下面继续查找,菜鸟求教!

解决方案 »

  1.   

    换成DBGridEh控件
    按CTRL+F直接能实现你想要的效果
      

  2.   

    没办法的, table 相关还有个 FindKey, query 就只好 while 了
    var
      Book: TBook;
    begin
      Book := Query1.GetBook;
      try
        while not Query1.Eof do
        begin
           用 AnsiPos 啦
           Query1.Next;
        end;
      finally
        if Query1.Eof then
          Query1.GotoBook(Book);
        Query1.FreeBook(Book);
      end;
    end;