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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-08-2005
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Poder: 22
silviodp Va por buen camino
Control de error

Como puedo controlar el siguiente error:
"raised exception class EDBEngineError with message 'key violation' " ??
Si esta pregunta ya fue hecha y respondida me podrian poner el link de donde está?, gracias.-
Responder Con Cita
  #2  
Antiguo 12-08-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.935
Poder: 27
delphi.com.ar Va por buen camino
Si quieres evitar que se produzca el error, puedes previamente validar tus datos para comprobar que no violen ninguna constraint. Simplemente haciendo consultas, tipo:
Código SQL [-]
SELECT 1
FROM TABLA
WHERE ID = :NEWID
Si esta consulta retorna al menos un registro, significa que ya hay un registro con ese ID.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 12-08-2005
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Poder: 22
silviodp Va por buen camino
Control de error

Si esa forma está barbara, pero a mi me gustaría hacerlo con Excepciones..., me explico??
Responder Con Cita
  #4  
Antiguo 12-08-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.114
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por silviodp
Si esa forma está barbara, pero a mi me gustaría hacerlo con Excepciones..., me explico??
¿Te refieres a informar al usuario con una excepción? ¿Pues porqué no usas lo que te dice Federico y, en caso necesario, haces algo como esto?

Código Delphi [-]
 raise Exception.Create('Alto, te equivocaste, amigo...');
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 12-08-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Busca en el foro por "ekeyviol" y darás directo con el tema que buscas
(quizás tengas que buscar en los antiguos foros).

Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 12-08-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
Código Delphi [-]
Try
 //aqui haces lo que tenga que hacer
Except on E:Exception do //podría ser E:EdbEngineError tu decides 
 if (E is EDBEngineError) then 
  with EDBEngineError(E).Errors[0] do 
   if ErrorCode = 9729 then begin 
    //aqui tu forma de tratar el problema, ya se aun mensaje, 
    //una acción, un beep, lo que tu creas conveniente.
   end else 
    //si fue algun otro # de error que no esperabas, mostrar la excepción.
    raise; 
 else
  //en caso que no sea un EDBEngineError, mostar el error.
  raise;
end; //try

Busca en internet "BDE ERROR CODES", si quieres conocer los demás errores.
__________________


Última edición por ContraVeneno fecha: 12-08-2005 a las 20:05:02.
Responder Con Cita
  #7  
Antiguo 12-08-2005
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Poder: 22
silviodp Va por buen camino
Control de error

Muchas gracias, lo voy a probar.
Gracias a todos.-
Responder Con Cita
Respuesta


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


La franja horaria es GMT +2. Ahora son las 15:39:18.


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