Ich vermute stark, du verwechselst hier was: Nicht die
Transaktion bleibt offen, sondern das
Query bleibt aktiv (
Active = True). Die Transaktion kann gar nicht offenbleiben, nachdem die Daten via
select von der Datenbank angefordert wurden und eingetroffen sind. Wäre die Transaktion noch offen, würde der
Select-Befehl noch auf seine Ausführung warten.
Eine
Query- oder
Table-Komponente muß aktiv bleiben, solange die Daten angezeigt oder sonstwie verarbeitet werden sollen. Anders ausgedrückt: Wenn das Property
Active der Datenmenge nicht mehr den Status
True aufweist, besteht keine Möglichkeit, die Datenmenge zu verarbeiten. Erst das Setzen von
Active auf
True bzw. der
Open-Befehl führt den
Select-Befehl aus und beendet damit die Transaktion.