Zitat von
x000x:
evtl. schließt SQLQuery.ExecSQL die Connection nach Ausführung?!
Kannst du die Connection mal explizit öffnen?
Halt nur ne Vermutung...
Ob es jetzt das SQLQuery.ExecSQL ist oder was anderes aber das Problem liegt wirklich daran das die Verbindung
unterbrochen wird und bei einer neuen Abfrage eine neue Session erstellt wird, das verhindert natürlich die
korrekte ausgabe des letzten auto inc. wertes.
Ich habe das ganze mal mit einer Abfrage nach 'CONNECTION_ID()' getester vor dem INSERT Statement hatte ich die ID 86
und danach erhielt ich 87 bevor ich dann nach Last_Insert_ID abgefragt habe, ich schau mal ob ich irgendwo was finden
kann damit die Verbindung aufrecht erhalten wird. TSQLConnection.KeepConnection steht auf True.
Alles etwas verwirrend, aber ich komm dem noch auf die spur, die Hoffnung stirb zu letzt.
Edit:
Ich habe das noch mal etwas genauer getestet, selbst wenn ich zwei mal hintereinander nur nach der CONNECTION_ID()
abfrage bekomme ich jedesmal eine andere, also kann es nicht am ExecSQL() liegen sondern ein allgemeines Problem
liegt vor das der für jede Abfrage eine neue Session eröffnet.