Tengo la siguiente configuración:
{DataModule}
IBTransaction:
Name: Transac
DefaultDatabase: Con
IbDatabase:
Name: Con
DefaultTransaction: Transac
Luego abro un form donde ingreso los datos del usuario en el tengo un ibScript, donde su propiedad transaction y Database apuntan a los dos componentes que están en el modulo, le agrego estas instrucciones:
sql
START TRANSACTION; INSERT INTO Usuarios (CODIGOUSUARIO, CLAVE, NOMBRE, APELLIDO, CREADO, ULTIMAASIGNACION, CADUCA, MODIFICADO) VALUES ('eduarcol', '<6698<;9V4644:7998;:655;96:75595;5644:<<:6;<984;:<605', 'Eduardo', 'Colemenares', '08/09/2010', '08/09/2010', 'F', '08/09/2010'); DELETE FROM accesosmenu WHERE codigousuario = 'eduarcol'; Commit;
De esta manera lo ejecuto:
delphi
try if not dmModulo.Transac.Active then dmModulo.Transac.StartTransaction; scGrabar.ExecuteScript; txUsuario.SetFocus; except on E: Exception do begin scGrabar.Script.Text := 'Rollback Retain;'; scGrabar.ExecuteScript; msgError('Ha ocurrido un error al intentar grabar el registro con el siguiente mensaje: ' + E.Message); end; end;
Pero no graba nada, a lo que abro el ibExpert y reviso la tabla no aparece nada, no me genera ningún tipo de error ni excepciones, hace su terminación normal.