Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-02-2008
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.492
Poder: 21
MAXIUM Va camino a la fama
Capturar exception

Hola, tengo el problema de que nose donde capturar un determinado error EDatabaseError. Me dice que un campo en una tabla no debe quedar en blanco.

Esto se produce en un campo el cual no debe ser NULL, entonces aproposito hago un scroll para ver que error se produce. Lo que quiero es que se haga algo antes de producirse el error o que corriga el error en determinado momento.

Sino se entendio, me avisan. Uso Delphi, los componentes Interbase que bienen con este y Firebird última versión.
Responder Con Cita
  #2  
Antiguo 07-02-2008
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
Si la actualización la estas haciendo por media de una consulta (TQuery), necesitas agregar ese campo dentro de la instrucción para que no te la ponga como nulo.

O si estas utilizando parámetros, en lugar de utilizar ".value", lo mejor sería utilizar el tipo de campo que estas manejando, ".AsString" por ejemplo.

Pero aquí la pregunta sería:
¿cómo estas actualizando la base de datso?
__________________

Responder Con Cita
  #3  
Antiguo 07-02-2008
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.492
Poder: 21
MAXIUM Va camino a la fama
coloco un DBEdit en el cual se ingresan los datos, al lado un DBGrid que me muetra todos los registros.

Entonces dejo el DBEdit en blanco y tras hacer un insert, en seguida hago click sobre cualquier otro registro que muestre la DBGrid, con esto se produce un scroll y buala!!! se produce el error. Lo hago a proposito para ver como evitar que al usuario final le ocurra.
Responder Con Cita
  #4  
Antiguo 07-02-2008
Avatar de Luis M.
[Luis M.] Luis M. is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Ripollet - Barcelona
Posts: 212
Poder: 20
Luis M. Va por buen camino
Hola.

Suponiendo que utilices una Tabla o un Dataset.
En el evento BeforePost

Código Delphi [-]
if campo.isnull then
   Begin
      //Aquí tu mensaje de aviso
      campo.focuscontrol;
      Abort;
   End;

Un saludo.

Última edición por Luis M. fecha: 07-02-2008 a las 10:50:20.
Responder Con Cita
  #5  
Antiguo 07-02-2008
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.492
Poder: 21
MAXIUM Va camino a la fama
ese Abort a que corresponde?
Responder Con Cita
  #6  
Antiguo 07-02-2008
Avatar de kalimero
kalimero kalimero is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 288
Poder: 22
kalimero Va por buen camino
Hola
Si has definido el campo como "not null" en la base de datos
entonces será el servidor el que genere el error.Tu lo único que debes
hacer es recoger ese error en el evento "onPostError" del Dataset y obrar en consecuencia.

saludos
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
Capturar exception ALAM C++ Builder 0 18-04-2007 11:36:04
exception arieliten Conexión con bases de datos 3 21-04-2005 00:27:59
Exception EDBEngineError lionsoft Varios 9 23-09-2004 15:27:02
exception al imprimir agora18 Impresión 3 27-11-2003 15:54:25


La franja horaria es GMT +2. Ahora son las 05:08:40.


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