Programmieren mit dBASE PLUS: Events: canSave

Aus Wikibooks
Zur Navigation springen Zur Suche springen
Wikibooks buchseite.svg Zurück zu Events | One wikibook.svg Hoch zu Regal EDV | Wikibooks buchseite.svg Vor zu Inhaltsverzeichnis


Dieses Event wird ausgelöst, wenn der Datensatzpuffer gespeichert werden soll. Der Rückgabewert bestimmt, ob der Puffer geschrieben wird.

Parameter[Bearbeiten]

Keine

Eigenschaft von[Bearbeiten]

Rowset

Beschreibung[Bearbeiten]

Der Datensatzpuffer kann explizit durch den Aufruf von save( ) oder implizit, gewöhnlich durch Verschieben des Datensatzcursors im Datensatzbereich, gespeichert werden. Mit canSave können Sie vor dem Schreiben auf die Festplatte überprüfen, ob die Daten in Ordnung sind.

Der Event-Handler für canSave muß den Wert True oder False zurückgeben. Damit wird angezeigt, ob die Zeile gespeichert wird. Falls der Benutzer die aktuelle Zeile (den aktuellen Datensatz) geändert hat und eine neue Zeile einfügen oder den Cursor verschieben will, wird zuerst das Event canAppend oder canNavigate ausgelöst. Wenn dieses Event True zurückgibt, wird canSave ausgelöst. Wenn canSave den Wert False liefert, wird die Zeile nicht gespeichert, und die versuchte Aktion wird nicht durchgeführt. Andernfalls wird die Zeile gespeichert und die Aktion durchgeführt. Damit können Sie die Gültigkeitsprüfung des Datensatzes in den Event-Handler für canSave einbinden. Diesen müssen Sie weder in canAppend noch in canNavigate duplizieren.

Das canSave-Event arbeitet unabhängig von der Validierung auf der Ebene der Datenbank-Engine. Selbst wenn canSave True ergibt, führt der Versuch, einen unzulässigen Datensatz einzutragen (etwa weil er einer Einschränkung auf Tabellenebene nicht genügt), zu einem Fehler und generiert eine Exception.