Ver Mensaje Individual
  #3  
Antiguo 13-12-2006
JuanchoArg JuanchoArg is offline
Miembro
 
Registrado: nov 2005
Posts: 30
Reputación: 0
JuanchoArg Va por buen camino
Sigo con problemas en la transaccion

Ke tal amigo? agradezco la ayuda que me diste. Pero aun tengo un problema, no se porque motivo un insert con clave duplicada no genera error al correr el adoquery. En el analizador de consulta da el error pero delphi no lo detecta. y me serviria que me devuelva un error si algo no anduvo bien en la transaccion.
Asi quedo la transaccion que corro.

Código SQL [-]
 
BEGIN TRAN
insert into croperatoria (idoperatoria,fecha) values ('000500000012','2006-12-13');
if @@error <>0 begin  rollback tran; RETURN; end;
insert into cuentas (nro_cuenta,lim_cred,cred_utiliz, estado, est_aval,fec_alta) values ('00025001',250,0,'Habilitado','','2006/12/13')
if @@error <>0 begin  rollback tran; RETURN; end;
...
...
...
commit tran


Usé tambien el RAISERROR para que me devuelva un mensaje de error como me explicaste antes, pero no hay forma de que delphi lo detecte o yo no se como hacer para detectarlo. ASi es el codigo en delphi.

Código Delphi [-]
 
fmain.adoq.SQL.Clear;
fmain.adoq.SQL.LoadFromFile(files);
ok:=true;
estado:='OK';
try
res:=fmain.ADOq.ExecSQL;
except
estado:='FALLO';
ok:=false;
end;
Si me ayudas de nuevo te lo agradeceria.

Saludos
Responder Con Cita