Data.DB.TDataSet.MoveBy
Delphi
function MoveBy(Distance: Integer): Integer; virtual;
C++
virtual int __fastcall MoveBy(int Distance);
Inhaltsverzeichnis
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