当前位置:首页 > windos > 正文

DELPHI 数据集在内存中快速查询方法

1、Bookmark var  p:pointer; procedure  TForm1.Button1Click(Sender: TObject);//加个标签 begin   p:=cxGrid1DBTableView1.DataController.DataSet.GetBookmark; end;     procedure  TForm1.Button2Click(Sender: TObject);//行焦点定位到标签 begin   cxGrid1DBTableView1.DataController.DataSet.GotoBookmark(p); end; 2、recNo      var i:integer;        i:=adodataset1.recno;        adodataset1.recno:=i; 3、locate     单个字段
      Locate(‘ID‘, ‘A001‘, []);

    多个字段
      Locate(‘ID;Name‘, VarArrayOf([‘A001‘, ‘小三‘]), []);

 

 

var  fname,fv:string; begin   fname:=ADOQuery.Fields.Fields[0].Name;   fv:=ADOQuery.Fields.Fields[0].AsString;   ADOQuery.Close;   ADOQuery.Open;   if  ADOQuery.Locate(fname,fv, []) then     showmessage(‘定位记录完成‘)   else     showmessage(‘定位失败。‘);   //...... end;


 




   结果返回True/False; 即表示找到此记录/找不到,具体用法请按F1看帮助 4、CXGRID            i :=  View1.Controller.FocusedRowIndex;
          ds.Close;
          Ds.Open;
          View1.Controller.FocusedRowIndex := i;