![]() |
Transaktion richtig einsetzen??
Hallo,
bräuchte ein bischen Hilfe bei einer Transaktion. Wie kann ich im unteren Quellcode eine Transaktion einbauen, welche wenn das Programm abstürtzt, den Vorgang Rückgängig macht.
Delphi-Quellcode:
Ich habe das mal gemacht. Ist aber ne Weile her und ich weiss nicht mehr wie es geht :oops:
AdoQuery1.Close;
AdoQuery1.SQL.clear; AdoQuery1.SQL.Add('UPDATE tblBefund'); AdoQuery1.SQL.Add(' SET Nr = ' + QuotedStr(Edit1.Text)); AdoQuery1.SQL.Add(' Name = ' + QuotedStr(Edit2.Text)); AdoQuery1.SQL.Add(' VName = ' QuotedStr(Edit3.Text)); AdoQuery1.ExecSQL; Danke Gruß AS |
Re: Transaktion richtig einsetzen??
..wieder ein Bsp. aus der Hilfe:
Delphi-Quellcode:
und CachedUpdate auf true stellen.
Im folgenden Code wird gezeigt, wie nach dem Klick auf eine Schaltfläche die zwischengespeicherten Aktualisierungen einer Datenmenge in die Datenbank eingetragen werden.
procedure TForm1.ApplyButtonClick(Sender: TObject); begin with CustomerQuery do begin Database1.StartTransaction; try ApplyUpdates; {Versuch, die Aktualisierungen in die Datenbank zu schreiben }; Database1.Commit; {bei Erfolg Änderungen eintragen }; except Database1.Rollback; {bei Fehler Änderungen rückgängig machen }; raise; {Exception auslösen, um Aufruf von CommitUpdates zu verhindern} end; CommitUpdates; {bei Erfolg Zwischenspeicher leeren} end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz