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 14-05-2004
moni moni is offline
Registrado
 
Registrado: may 2004
Posts: 5
Poder: 0
moni Va por buen camino
ADO y Access

Estoy trabajando con los componentes ADO y Base de Datos Access. Tengo problemas cuando tengo que manejar los mensajes de Excepción de error (EOleException) cuando intento grabar un registro duplicado. Intenté solucionar esto utilizando la sentencia Try...Except on EOleException do, me da un error variable undeclared identifier.


Desde ya Muchas Gracias..
Responder Con Cita
  #2  
Antiguo 15-05-2004
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 21
Paoti Va por buen camino
Hola!!!


ojala te sirva esto, no lo he probado.....



cuando te marque el error, apunta ese numerito raro (que es la clave del error que te manda Ado) y despues haces un try... except manejando en un if ese error por ejemplo

if e.HelpContext = 123145645e12 then


123145645e12 <--- asi suelen aparecer estos numeritos de error

Nota: trata de usar un nombre de excepcion generica, para que la pueda capturar el except (desconozco si pueda ser la clase Exception, directamente)

espero haberte ayudado.... que estes bien moni
Responder Con Cita
  #3  
Antiguo 15-05-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Cool

Cita:
Empezado por moni
on EOleException do, me da un error variable undeclared identifier.
Te falta incluir en la clausula uses la unidad donde está declarada la clase EOleException. Basta pulsar F1 sobre esta palabra en el editor, y la ayuda te indica:

Cita:
Empezado por help de delphi7
Unit

ComObj
Cita:
Empezado por Paoti
Nota: trata de usar un nombre de excepcion generica, para que la pueda capturar el except (desconozco si pueda ser la clase Exception, directamente)
En teoria podes usar la clase genérica Exception para capturar cualquier excepción. Digo en teoria, porque una excepción podria no derivarse de esta clase (una muy mala práctica por cierto) y en ese caso no la capturarias.

Yo te recomiendo todo lo contrario que Paoti. Que en la clausula Exception seas tan específico como te sea posible, de esta forma capturaras exclusivamente las excepciones para las que "sabes" como actuar, o con las que te interesa tener un comportamiento determinado. Si de pronto ocurre una excepción porque el sistema se ha quedado sin recursos, o el disco está lleno... si simplemente no la capturas y dejas que un bloque mas externo o el propio delphi trate con estos problemas.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #4  
Antiguo 20-05-2004
axel_mdq axel_mdq is offline
Registrado
 
Registrado: may 2004
Posts: 6
Poder: 0
axel_mdq Va por buen camino
respuesta

Tenes que usar try/except de la siguiente forma.

Try

Except
on e:exception do
begin
showmessage('Error inesperado. Mensaje original: '+e.message);
{Tambien podes agregar algun rollback que quieras hacer si usas transactions}
end;
end;

Espero que te sirva.

Saludos,

Alejandro.
Responder Con Cita
  #5  
Antiguo 15-06-2004
moni moni is offline
Registrado
 
Registrado: may 2004
Posts: 5
Poder: 0
moni Va por buen camino
Muchas Gracias por las Respuestas.

moni
Responder Con Cita
  #6  
Antiguo 15-06-2004
Avatar de FNADALO
FNADALO FNADALO is offline
Miembro
 
Registrado: oct 2003
Ubicación: Palma de Mallorca
Posts: 97
Poder: 21
FNADALO Va por buen camino
Wink

Porque no lo solucionas definiendo que
dicho campo de la tabla es de tipo único.
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


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


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