Thema: Delphi Rollback Problem

Einzelnen Beitrag anzeigen

Tom70

Registriert seit: 11. Mär 2005
33 Beiträge
 
#1

Rollback Problem

  Alt 15. Jul 2005, 12:25
Datenbank: Firebird • Version: 1.5 • Zugriff über: FibPlus
Hallo Allerseits,

ich experimentiere gerade mit den FIBPlus Komponenten rum, und hätte da gerne mal ein Problem.

In der DB gibt es eine SP, welche Daten aus einem Formular in Empfang nimmt, diese in Tabellen schreibt, und einen Status ausgibt.
Auf dem Formular benutze ich eine FIBStoredProc mit einer eigenen Transaction.
Nun starte ich die SP und bekomme den richtigen Status zurück.

Alles gut und schön, denn nun kommt vorher noch eine Benutzerabfrage, deren OK ein weiteres Formular öffnet,
und bei Nein starte ich ein Transaction.Rollback.

Rufe ich jetzt die SP wieder auf, und beantworte die Benutzerabfrage wieder mit Nein (als erneutes Rollback),
funktioniert das genau 2x, danach bekomme ich den Rückgabestatus "Fehler" von der SP.

Der Fehler entsteht wohl dadurch, das kein richtiges Rollback stattgefunden hat, und die Daten noch uncommited in der DB liegen,
und somit eine Constraint-Verletzung auftritt.

Letztlich stellt sich mir die Frage: Wie mache ich am sichersten eine Transaktion rückgängig???

Bei der FIBProc ist AutoCommit ausgeschaltet.

Viele Grüße,
Tom
  Mit Zitat antworten Zitat