用getbook(),gotobook(),freebook()纪录某条纪录位置,以后返回这条纪录,释放资源

解决方案 »

  1.   

    procedure TForm1.SelectClick(Sender: TObject);
    var  x: word;
      TempBook: TBookMark;
    begin
      DBGrid1.Datasource.Dataset.DisableControls;
      with DBgrid1.SelectedRows do
      if Count > 0 then
      begin
        TempBook:= DBGrid1.Datasource.Dataset.GetBook;
        for x:= 0 to Count - 1 do
        begin
          if IndexOf(Items[x]) > -1 then
          begin
            DBGrid1.Datasource.Dataset.Book:= Items[x];
            showmessage(DBGrid1.Datasource.Dataset.Fields[1].AsString);
          end;
        end;
        DBGrid1.Datasource.Dataset.GotoBook(TempBook);    DBGrid1.Datasource.Dataset.FreeBook(TempBook);
      end;
      DBGrid1.Datasource.Dataset.EnableControls;
    end;