Nein.
'ne Transaktion beginnt man
vor dem Ändern von Daten und beendet sie
nach dem Ändern von Daten.
War die Änderung korrekt, so wird Commit aufgerufen, war sie nicht korrekt, wird sie mit Rollback verworfen.
Die von Dir zitierte Prozedur prüft nur, ob nicht bereits eine Transaktion geöffnet wurde, damit man sie nicht (beliebig tief) verschachtelt werden, sondern immer nur eine Transaktion zu einer Zeit aktiv ist.
Sinngemäß:
Delphi-Quellcode:
try
StartTransaction;
Edit;
FieldByName('
irgendwas').AsString := '
wasweißich';
...
Post;
Commit;
except
on e :
Exception do begin
Rollback;
end;
end;
Mal mit dem Thema
Datenbank Transaktionshandling auseinandersetzen, und zwar losgelöst von einer konkreten Datenbank und der Implementierung von Delphiroutinen zu einer bestimmten Datenbank.
Also: Zuerst Allgemeinwissen verschaffen, dann an die konkrete Umsetzung gehen.
Und nein, es ist nicht trivial.
Bei Fragen: fragen