Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-04-2007
Avatar de pablonill
pablonill pablonill is offline
Miembro
 
Registrado: dic 2006
Posts: 92
Poder: 18
pablonill Va por buen camino
Interceptar mensajes error ADO Access

Hola, quisiera saber como puedo interceptar los mensajes de error devueltos por ADO en una tabla access para poder traducirlos y mostrar el mensaje correspondiente!, por ejemplo el de violacion de clave, o el campo debe tener un valor!, muchas gracias.
Responder Con Cita
  #2  
Antiguo 24-04-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Post

Utiliza Try..Except.
Los errores de ADO generan excepciones de tipo EOLEException (busca en la ayuda de Delphi).


Código Delphi [-]
...
try
  // Por ejemplo
  ADOTabla.Edit;
  ...
except
  on E:EOLEException do begin 
    // tipo de error
    if (E.ErrorCode = -2146825267) then begin
      BoxAviso('El registro ya ha sido borrado...' + E.Message);
    end
    else if (E.ErrorCode = -2147217905)
      BoxAviso('Se ha producido un error al intentar bloquear el registro. ' + E.Message);
    end
    else begin
      BoxAviso('Error ADO Desconocido; ' + E.Message);
    end;
  end
  else begin
    // Capturar otro tipo de excepciones
    raise;
  end;
end;

En un ejemplo, y te lo he puesto de memoria sin compilar, así que tal vez haya algun error de sintaxis, pero la idea es esa.
En cuanto a los códigos de error de ADO, los puedes encontrar por internet; Por ejemplo aquí.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 24-04-2007
Avatar de pablonill
pablonill pablonill is offline
Miembro
 
Registrado: dic 2006
Posts: 92
Poder: 18
pablonill Va por buen camino
Muchas gracias, ya lo voy a probar!, muchas gracias de nuevo!
Responder Con Cita
  #4  
Antiguo 26-04-2007
Avatar de pablonill
pablonill pablonill is offline
Miembro
 
Registrado: dic 2006
Posts: 92
Poder: 18
pablonill Va por buen camino
Hola, te comento que logre interceptar el error, el tema es que el programa me genera un EDataBaseError y un EOleException los cuales no devuelven un ErrorCode, por tal motivo no puedo saber cual es el tipo de error que se genera!, algo me estoy olvidando?. Gracias.
Les recuerdo que estoy usando una tabla Access con ADO y necesito capturar errores tales como El campo ya existe o el campo no puede tener un valor Null. Gracias!
Responder Con Cita
  #5  
Antiguo 26-04-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si buscas EOLEException en la ayuda varás que tiene la propiedad ErrorCode. Algo debes estar haciendo mal.
Qué componentes ADO estás usando exactamente.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



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
Interceptar impresión Walcasar Impresión 0 19-10-2006 15:22:20
Mensajes de error erick_jesus Conexión con bases de datos 1 31-05-2006 17:53:47
Capturar Mensajes de error daly Varios 5 27-10-2005 20:56:46
Interceptar DBNavigator dape Conexión con bases de datos 1 09-04-2005 18:36:16
interceptar error edfz Conexión con bases de datos 2 08-04-2004 01:12:28


La franja horaria es GMT +2. Ahora son las 10:02:14.


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