bueno, con esto tiene q tener en cuenta que FIrebird e Interbase necesitan de una transacción, esta se la puede configurar en "read commit", para no cerrar la bd puede usar el "commitretaing" que trae la tranasaccion...
aunq no se como use los query yo hago algo como lo siguiente:
Código Delphi
[-]
try
try
queryQueMuestra.Close;
queryQueModifica.ExecSQL;
finally
IBTransaction1.CommitRetaining;
queryQueMuestra.Open;
end;
except
IBTransaction1.RollbackRetaining;
end;
Note que separo los querys, aun que muchos lo hacen todo de una con TIBUpdateSQL, eso ya son cosas de gustos.