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 12-08-2005
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Poder: 21
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.932
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: 21
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.107
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: 28
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: 23
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: 21
silviodp Va por buen camino
Control de error

Muchas gracias, lo voy a probar.
Gracias a todos.-
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 10:29:52.


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