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