Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Transaktion richtig einsetzen?? (https://www.delphipraxis.net/8046-transaktion-richtig-einsetzen.html)

AgentAS 27. Aug 2003 16:58


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:
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;
Ich habe das mal gemacht. Ist aber ne Weile her und ich weiss nicht mehr wie es geht :oops:

Danke

Gruß

AS

Memo 27. Aug 2003 17:32

Re: Transaktion richtig einsetzen??
 
..wieder ein Bsp. aus der Hilfe:
Delphi-Quellcode:
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;
und CachedUpdate auf true stellen.


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