Programmieren mit dBASE PLUS: Events: canSave


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

ParameterBearbeiten

Keine

Eigenschaft vonBearbeiten

Rowset

BeschreibungBearbeiten

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.