Data.DB.TDataSet.MoveBy

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

function MoveBy(Distance: Integer): Integer; virtual;

C++

virtual int __fastcall MoveBy(int Distance);

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public
Data.DB.pas
Data.DB.hpp
Data.DB TDataSet

Beschreibung

Positioniert auf einen Datensatz relativ zum aktiven Datensatz in einer Datenmenge.

Mit MoveBy können Sie die aktuelle Position in der Datenmenge um den in Distance festgelegten Abstand verschieben. Distance gibt die Anzahl der Datensätze an, um die die Verschiebung stattfinden soll. Bei einem positiven Wert erfolgt die Verschiebung nach vorne, bei einem negativen Wert nach hinten. Im folgenden Beispiel wird auf einen Datensatz positioniert, der zehn Datensätze hinter dem aktuellen liegt:



MoveBy(-10);



DataSet1->MoveBy(-10);



MoveBy trägt zuerst die Änderungen des aktiven Datensatzes ein und führt dann folgende Aktionen durch:

Die Eigenschaften Bof und Eofwerden auf false gesetzt.

Ist Distance positiv, werden nachfolgende Datensätze abgerufen (falls möglich), und der letzte abgerufene Datensatz wird zum aktiven Datensatz. Bei einem Versuch, hinter das Ende der Datei zu gelangen, setzt MoveBy Eof auf true.

Ist Distance negativ, werden vorhergehende Datensätze abgerufen (falls möglich), und der letzte abgerufene Datensatz wird zum aktiven Datensatz. Bei einem Versuch, vor den Anfang der Datei zu gelangen, setzt MoveBy Bof auf true. Wenn in einer unidirektionalen Datenmenge versucht wird, einen vorhergehenden Datensatz abzurufen, wird eine EDatabaseError-Exception ausgelöst.

Die verbundenen datensensitiven Steuerelemente und Detailmengen werden von der Änderung benachrichtigt. Diese führen dann die entsprechenden Aktualisierungen durch.

Die Anzahl der Datensätze, um die die aktuelle Position verschoben wurde, wird zurückgegeben. Meistens entspricht der Rückgabewert dem absoluten Wert von Distance. Wird jedoch vor Erreichen von Distance der Anfang oder das Ende der Datei erreicht, ist er kleiner als Distance.

Siehe auch

Codebeispiele