Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 17-12-2008
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 23
defcon1_es Va por buen camino
Hola.
Yo lo que haría es capturar la excepción desde la aplicación,
con algo parecido a esto:

Código Delphi [-]
uses IB;
...
try
  ...
  insertquery.ExecSQL;
except
on E:Exception do
  ShowMessage('Error/Excepción FireBird: '+IntToStr(EIBInterBaseError(E).IBErrorCode)+#13#10#13#10+E.Message);
end;

Una vez que sepas el codigo de error que devuelve, puedes filtrar el mensaje:
Código Delphi [-]
uses IB;
...
try
  ...
  insertquery.ExecSQL;
except
on E:Exception do
  case EIBInterBaseError(E).IBErrorCode of
  $14000019: ShowMessage('Deadlock');
  $14000888:// se produjo la excepcion ERR_NO_TITULO   
    ShowMessage('El título no puede estar vacio');
end;

Lo ideal es crear un procedimiento o funcion para gestionar todos los mensajes de error de la aplicación, por ejemplo:
Código Delphi [-]
procedure Gestion_de_Errores(E: Exception);
begin
    if E is EIBInterBaseError
    then begin
      case EIBInterBaseError(E).IBErrorCode of
        $14000019: AvisoError('Aviso', 'Coincidencia en el uso del registro.' +#13+
                                       'Otro usuario lo tiene en uso.' +#13+
                                       'Inténtelo de nuevo.    -No es un error-'+#13+
                                       '---------------------------------------'+#13+
                                       'Error/Excepción FireBird: (' + E.Message + ')');
    ....
    ....
      end;
   end;
end;
Para luego usarla asi:
Código Delphi [-]
try
  ...
  insertquery.ExecSQL;
except
  on E:Exception do
    Gestion_de_Errores(E);
end;
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...

Última edición por defcon1_es fecha: 17-12-2008 a las 12:17:51.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Mensaje de error: Debugger Exception Notification. cesar_gta86 Varios 1 02-07-2008 17:23:57
Path completo en la red RebeccaGL Redes 9 18-02-2008 20:15:18
Listado completo de tabla teclilla Impresión 3 15-02-2008 22:50:58
el codigo completo ElDioni SQL 2 11-07-2005 17:39:41
Informe Completo Franklim Impresión 5 02-04-2004 13:45:29


La franja horaria es GMT +2. Ahora son las 20:20:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi