在AdoQuery和sql数据库表中,咋样实现记录的定位?(就是运行完后,鼠标点在表的哪一行,记录就定位在该行?) 用Locate()函数能不能实现阿?我是菜鸟,请教高手阿!!!!!!

解决方案 »

  1.   

    你用的是什么表显示数据?用dbgrid的话,选择就是定位了。
    Locate可以实现定位。
      

  2.   

    鼠标点在表的哪一行,adoquery中已经定位到该行了呀
      

  3.   

    正如他们所说的,用dbgrid/dbgrideh等控件的话,选择就是定位了。Locate事例代码如下
      str :=Edit1.Text;
      with adoquery1 do
      begin
        if not (Locate('ShipTicketNO',str,[])) then  //ShipTicketNO字段名
        begin
          ShowMessage('没有该船票号,请查证!');
          exit;
        end
      end;
      

  4.   

    用BookMark可以实现
    var 
      BookMark : TBookMark;
    在鼠标点击事件中写
    BookMark:=ADOQuery.getBookMark;
    刷新后试行
    ADOQuery1.GotoBook(BookMark);
      

  5.   

    在保存之前取到ID的值
    如:
    id:=edit1.text
    ADOQuery1.Locate('关键字段名',id, []);
      

  6.   

    用BookMark可以实现
    var 
      BookMark : TBookMark;
    在鼠标点击事件中写
    BookMark:=ADOQuery.getBookMark;
    刷新后试行
    ADOQuery1.GotoBook(BookMark);
    ADOQuery1.FreeBook(BookMark);
      

  7.   

    如果检索出来数据在没有进行排序时用DataSet.RecNo就可以得到你鼠标点击的行号,你点击的那一行,指针就已经移到该行了。Locate的作用是查找到某行,让后指针移到到查找到的行,用来得到某行的数据。TBookMark可以记录多行的指针。