Gracias Casimiro y Caminante, aclaro como fue:
Si estoy conectado con BDE esto funciona bien
Código Delphi
[-]begin
QueryConsulta.open; Abro una consulta y luego comienzo la transacción
D_Datos.Administracion.StartTransaction;
Try
qUpdate.ParamByName('P_ID_Operador').Value:=1;
qUpdate.ExecSQL;
D_Datos.Administracion.Commit;
Except
D_Datos.Administracion.Rollback;
MessageDlg('Error');
raise;
end;
end;
Si estoy conectado con TIBDatabase esto No funciona bien
Código Delphi
[-]begin
QueryConsulta.open; Abro una consulta y aparentemente esto ya dispara un comienzo de transacción
D_Datos.Administracion.StartTransaction; Entonces esto da error
Try
qUpdate.ParamByName('P_ID_Operador').Value:=1;
qUpdate.ExecSQL;
D_Datos.Administracion.Commit;
Except
D_Datos.Administracion.Rollback;
MessageDlg('Error');
raise;
end;
end;
Por lo tanto la solución propuesta por Caminante es correcta.
Eso es todo.
Saludos