怎么让一个query的内容总是出现----可能没说明白.举个例子.
一个query,一个button,一个edit,当edit为空时,点击button,query中就刷新一次.
如在edit中有数据,在记录集中查询得到,则定位于该记录,如果多条记录,则定位于
首记录.
我不明白的是,1.怎么刷新,即让query中在edit为空的情况下,也有记录显示
2.怎么定位于查询得到的多条记录的首记录
就这些,呵呵,谢谢各位了.

解决方案 »

  1.   

    第一个问题不懂你要问什么。
    第二个问题:query.first;
      

  2.   

    1、确实不用问,判断EDIT是否为空,如果为空的话,直接刷新不就得了;
    2、用LOCATE就好了;
      

  3.   

    1  if trim(Edit1.Text) = '' then
      begin
        Query1.Refresh;
      end else
        begin
          //
        end;
    2.同上
      

  4.   

    query查询结束后纪录集本身就定位在首纪录上啊?!if edit1.text='' then
      select * form ....
    else
      sleect * form ... where ....???
    ----------------------------------------------
                       riff ur life
      

  5.   

    第一个问题同意楼上的意见。
    第二个问题可以用QUERY的filter属性过滤记录集。
      

  6.   

    断EDIT是否为空,如果为空的话,查询所有的记录Select * from yourtable
    不为空则条件查询
    定位query.first,LOCATE都行
      

  7.   

    procedure ButtonOnClick(Sender: TObject);
    begin
      Query1.Refresh;
      Query1.Locate('FieldName', Edit.Text, []);
    end;
      

  8.   

    query1.locate(字段名,edit1.text,[]);
      

  9.   

    if edit1.text='' then
      query1.sql.add('select * form ....')
    else
      query1.sql.add('sleect * form ... where ....');
      ...
    query1.first;
      

  10.   

    直接用Query来查就可以了:
    Query1.Locate('fieldname',VarArrayOf([Trim(Edit1.Text)],[loPatialKey]);