sql - use execSQL or COMMIT to conclude a transaction -
what right way conclude transaction ? :
query.sql.add('start transaction;'); ----- ----- query.sql.add('commit;'); query.execsql; or
query.sql.add('start transaction;'); ----- ----- query.execsql; query.sql.add('commit;'); edit : or way :
....... ....... try if not database1.intransaction database1.starttransaction; query.execsql; database1.commit; except on e : exception begin database1.rollback;
normally have control transaction under try except prevent errors insert or update statements.. suggest use start transaction on tconnection , not on tquery under try except
try adoconnection1.begintrans; ---- ---- query1.execsql; adoconnection1.committrans; except adoconnection1.rollbacktrans; ----- // manage exception after rollback ----- end; note: it's important place rollbacktrans @ first line in exception management, because other code showmessage or else lock part of database tables other users
Comments
Post a Comment