Automaticky som predpokladal, že sa ukončí transakcia. Ale ona ostáva otvorená
To je naozaj tak? Nechce sa mi tomu veriť.
Ano. Query resp. dataset reprezentuje jen
jednu DB operaci, ktera se provadi v kontextu transakce, ktery query dostava jako parametr a transakce se pouzivaji hlavne kvuli atomicite tj. kdy se
vice DB operaci chova jako jedina, ktera se provede/neprovede. Zavreni/zruseni query nema na transakci zadny vliv.
Mám nastavené Connection.AutoCommit/AutoStart na True.
To je mozne nastaveni, protoze byva zvykem, ze v okamziku, kdy nastartujes explicitne transakci, tak se to vnitrne vypne.
Ale z meho pohledu je to chyba, protoze to umoznuje sahnout do DB v podstate "bez" transakce s nepredvidatelnymi dusledky. Proto vzdycky ridime transakce explicitne a to rizeni
vynucujeme nastavenim na FALSE. To je dulezite zejmena tam, kde na projektu po dlouhou dobu pracuje vic lidi, aby se snizila sance to prasit.