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
|