AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Transaktion nicht komplett zurückfahren
Thema durchsuchen
Ansicht
Themen-Optionen

Transaktion nicht komplett zurückfahren

Ein Thema von Hansa · begonnen am 27. Feb 2006 · letzter Beitrag vom 2. Mär 2006
 
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: Transaktion nicht komplett zurückfahren

  Alt 28. Feb 2006, 12:42
Irgendwie wird das auch ohne diese Savepoints gehen, aber nicht so schön und einfach. Beispiel : Für eine Rechnung gebe ich viele Artikel ein. Gleichzeitig sollen Rückgaben gutgeschrieben werden. Bei den Rückgaben verhaue ich mich total (z.B. völlig falsche Rückgabe eingegeben, wegen verwechseltem Kunden) 8) Nun will ich alles rückgängig machen. Die Lieferung allerdings nicht !

Das Bsp. ist fiktiv und in der Realität noch verschachtelter. Mein Gedanke ist nun der : am Anfang direkt Transaction starten. An dem Punkt, an dem die Eingabe der Rückgaben erfolgt setze ich einen Savepoint. Und in dem konstruierten Fall wäre ich mit einem Rollback zurück bis zum Savepoint fein raus und bräuchte lediglich die Rückgabe neu einzugeben. Und der Witz an der Geschichte wäre ja, daß ich die Transaktionen 1:1 im Programm abbilden könnte. Für die Rückgaben bräuchte man nur ein eigenes Form und im FormShow wird der Savepoint gesetzt. Der Transaktions-Stand der DB würde dann überhaupt nicht mehr interessieren ! Im Source wäre alles klar zu erkennen. Wenn das so genial gehen sollte, dann mache ich das auch so.

Habe gedacht, jemand würde so was schon in der Praxis einsetzen. Ja, muß mir tatsächlich mal das Rollback genauer ansehen. Hätte ich das in FB zu integrieren, ich würde dem Rollback einen Parameter für Savepoint mitgeben. Mal suchen.

Edit : Tja, manchmal geht es schneller und zweitens, als man denkt. Die haben neue Prozeduren gemacht. Ähnlich wie ich geahnt habe :

RollbackToSavePoint (SavePointName) und
SetSavePoint (SavePointName)

Schwieriges / neues Thema und trotzdem schnell gelöst. *freu*
Gruß
Hansa
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:40 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-2025 by Thomas Breitkreuz