Programmieren mit dBASE PLUS: Funktionen: saveRecord

Aus Wikibooks


Diese Methode speichert die Änderungen des aktuellen Datensatzes in der aktiven Tabelle.

Syntax[Bearbeiten]

<oReferenz>.saveRecord( )

<oReferenz>

Ein Objektverweis auf das Formular.

Eigenschaft von[Bearbeiten]

Form, SubForm

Beschreibung[Bearbeiten]

Mit saveRecord( ) können die Änderungen des aktuellen Datensatzes gespeichert werden. Bei der Verwendung von Datenzugriffsobjekten wird saveRecord( ) ignoriert. Verwenden Sie in diesem Fall die Methode save( ) des Rowset-Objekts.

Mit Hilfe der Datenpufferung auf Formularebene kann das Bearbeiten vorhandener und Hinzufügen neuer Datensätze verwaltet werden. Änderungen des aktuellen Datensatzes werden erst in die Tabelle geschrieben, wenn der Datensatz verlassen oder saveRecord( ) aufgerufen wird. Jeder Arbeitsbereich verfügt über einen eigenen Bearbeitungspuffer. Sind beispielsweise zwei Steuerelemente durch ihre Eigenschaft dataLink mit Feldern in verschiedenen Arbeitsbereichen verbunden, müssen Sie jeden der beiden Arbeitsbereiche auswählen und saveRecord( ) aufrufen, um die Änderungen einzutragen.

Mit beginAppend( ) können neue Datensätze hinzugefügt und der Datensatzpuffer des aktuellen Arbeitsbereichs gelöscht werden. Rufen Sie saveRecord( ) auf, wird der neue Datensatz in die Tabelle geschrieben, ohne daß der Datensatzzeiger verschoben wird. Wenn Sie beginAppend( ) statt saveRecord( ) aufrufen, wird der neue Datensatz eingetragen und der Puffer erneut geleert, so daß Sie einen weiteren Datensatz hinzufügen können.

Beim Hinzufügen neuer Datensätze mit beginAppend( ) werden diese durch den Aufruf von saveRecord( ) nur in die Tabelle geschrieben, wenn Änderungen vorgenommen wurden. Neue Datensätze, die leer sind, werden verworfen. Auf diese Weise wird verhindert, daß leere Datensätze gespeichert werden (sollen explizit leere Datensätze erstellt werden, verwenden Sie APPEND BLANK). Mit Hilfe der Methode isRecordChanged( ) können Sie feststellen, ob ein Datensatz geändert wurde. Gibt isRecordChanged( ) den Wert True zurück, sollte die Gültigkeit der Daten auf Formular- oder Datensatzebene vor dem Eintragen geprüft werden.

Um den geänderten oder neuen Datensatz zu verwerfen, anstatt ihn zu speichern, rufen Sie die Methode abandonRecord( ) auf.