Programmieren mit dBASE PLUS: Funktionen: lockRow

Aus Wikibooks


Mit dieser Methode wird versucht, die aktuelle Zeile zu sperren.

Syntax[Bearbeiten]

<oReferenz>.lockRow( )

<oReferenz>

Der Datensatzbereich, in dem die aktuelle Zeile gesperrt werden soll.

Eigenschaft von[Bearbeiten]

Rowset

Beschreibung[Bearbeiten]

Eine automatische Zeilensperre wird versucht, wenn die Eigenschaft value eines Field-Objekts entweder durch eine direkte Wertzuweisung oder indirekt über ein mit dataLink verknüpftes Steuerungselement geändert wird.

Mit lockRow( ) können Sie versuchen, eine Zeile explizit zu sperren. Sowohl eine automatische als auch eine explizite Sperrung schlägt fehl, wenn die aktuelle Zeile oder der gesamte Datensatzbereich bereits gesperrt ist.

lockRow( ) gibt den Wert True zurück, wenn die Sperrung erfolgreich durchgeführt wurde. Andernfalls wird der Wert False zurückgegeben.

Die Unterstützung von Zeilensperren richtet sich nach dem Tabellentyp. Bei Standardtabellen (DBF und DB) werden Zeilensperren voll unterstützt. Bei den meisten SQL-Servern ist dies nicht der Fall. Bei Servern, die keine echten Sperren unterstützen, emuliert die Borland Database Engine ein optimistisches Sperrschema. Für jede Anforderung einer Sperre wird Erfolg vorausgesetzt. Wenn später der tatsächliche Versuch der Datenänderung erfolgt, kommt es zu einem Fehler, wenn die Daten seit dem Sperrversuch geändert wurden.