Thema: Delphi einzelner Datensatz

Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#3

AW: einzelner Datensatz

  Alt 13. Nov 2013, 16:47
Ein Dataset ist in der Tat ein fragiles Element, bezüglich des Datensatzzeigers. Man verwendet Bookmarks, um an eine bestimmte, vorher bekannte(!) Stelle zu hüpfen, z.B. so:

Delphi-Quellcode:
Procedure NonDescructiveDataSetOperation(aDataSet : TDataset);
Var
  bookMark: TBookmark;

Begin
  bookMark := aDataSet.GetBookmark();
  Try
    DoSomeThingWhichMightMoveTheRecordPointer(aDataSet);
  Finally
    aDataSet.GotoBookmark(bookMark);
    aDataSet.FreeBookmark(bookMark);
  End
End;
Getippt und nicht getestet.

Allerdings werden die Operationen dann ziemlich lahm (GetBookmark/GotoBookmark). Einfacher und besser ist eine Vereinbarung (bzw. Prüfung, z.B. , die das Verschieben des Datensatzzeigers verbietet. Allerdings ist es nicht trivial herauszubekommen, ob der Datensatzzeiger verschoben wurde. Es existiert zwar eine Eigenschaft 'RecNo' (Datensatz-Nr.), aber die ist nicht unbedingt implementiert.
  Mit Zitat antworten Zitat