Ver Mensaje Individual
  #1  
Antiguo 17-06-2005
carlos gonzalez carlos gonzalez is offline
Miembro
 
Registrado: may 2005
Posts: 108
Reputación: 20
carlos gonzalez Va por buen camino
Problema para capturar Errores

Hola amigos tengo un problema ojala puedan ayudarme u orientarme, se los voy a agradecer infinitamente, ya tengo mas de una semana y no he podido solucionar este problema., dejen les explico. Lo que quiero es cachar los errores que manda la base de datos cuando se comete un error por ejemplo duplicación de una llave primaria y mandar un mensaje hecho por mí evitando que el sistema truene y siga corriendo.



Anteriormente usaba el EDBEngineError y me jalaba perfectamente, por ejem. El sig. Código lo tenía en el botón de guardar y cuando se cometía un error de duplicación de llaves primarias me manda un mensaje.



procedure TForm33.guardarClick(Sender: TObject);

begin

try



if (pass.Text='') or (pass2.Text='') or(nom.Text='') or (userr.Text='') then

begin

guardar.enabled:=false;

application.messagebox('No Puede Haber Campos Vacios','Validacion De Datos',mb_ok+mb_iconerror);

end

else

begin

tuser.Post;

nom.ReadOnly:=true;

userr.ReadOnly:=true;

pass.ReadOnly:=true;

pass2.Enabled:=false;

primer.Enabled:=true;

siguiente.Enabled:=true;

anterior.Enabled:=true;

ultimo.Enabled:=true;

eliminar.Enabled:=true;

editar.Enabled:=true;

guardar.Enabled:=false;

nuevo.Enabled:=true;

cancelar.Enabled:=false;

salir.Enabled:=true;

tuser.First;

pass2.Text:='';

end;

except

on EDBEngineError do begin

application.messagebox('Este Usuario Ya Existe','Validacion De Usuario',mb_ok+mb_iconerror);

cancelarClick(Sender);

end;

end;

end;









Pero mi problema ahora es que estoy utilizando tablas de DB2 montadas en un servidor AS/400 y la rutina anterior no me funciona., alguien podría ayudarme a salir de este problema, se los voy a agradecer eternamente.



Su amigo Charles



Que DIOS los bendiga