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 15-12-2007
FelipeDiaz FelipeDiaz is offline
Miembro
 
Registrado: may 2007
Posts: 75
Poder: 17
FelipeDiaz Va por buen camino
Unhappy OTRO: Errores en Base de Datos

Hola a todos nuevamente, .... aunque he avanzado bastante en el tema de errores,.... me encuentro con otro que no se como capturar.

La situacion es esta.
Tengo un BDGrid que me muestra y me permite editar los valores de los descuentos.

He establecido un Check en Firebird que permita solo entradas cuyo valor para el descuento se establezca asi: 0 <= Desc <100.

Aqui no esta el problema....Cualquier violacion a esta restriccion la puedo capturar.

El problema es que el campo esta definido como un NUMERIC(4,2).

Y si el usuario ingresa 300 por ejemplo sale un mensaje diciendo:

Exception Class EDataBaseError y me dice que el rango para ese campo debe estar entre -327,67 y 327,67.

Intenté con los eventos..

OnChange, OnValidate, colocando la instruccion:

if (sender.Value < 0) or (sender.Value >= 100) then
DatabaseError('El valor debe ser mayor igual a 0 y menor que 100');

Pero esta validacion se efectua mientras el valor este en el rago permitido (osea entre -327,67 y 327,67.), si el usuario digita por ejemplo 243535 y y se genera un post, aparece el error. Si escribe 200, sale mi mensaje.

NO SE donde capturar ese error. Alguien me puede ayudar !!!
en que evento del DBGrid o del Campo ?

Saludos,

Felipe Diaz

P.D. Creo que despues de este...ya no molestaré mas con los Errores.
__________________
El Calentamiento Global acabara con la tierra. No mas Barreras, No mas Guerras, No mas discrimiancion, No mas violencia, No mas indiferencia, No mas terrorismo, No mas secuestros. !Valoremos la vida!

Última edición por FelipeDiaz fecha: 15-12-2007 a las 14:41:08.
Responder Con Cita
  #2  
Antiguo 04-01-2008
Minotaure Minotaure is offline
Miembro
 
Registrado: ene 2006
Ubicación: Sabadell (Catalunya)
Posts: 29
Poder: 0
Minotaure Va por buen camino
OnBeforePost

No sé si será un poco tarde ya o lo habrás solucionado.

Si he entendido bien, lo que podrías hacer es, en el evento OnBeforePost del TableSet (o del componente que utilices) comprobar el valor introducido en el campo que quieras controlar. En caso de que este fuera del rango deseado mostrar el mensaje y cancelar la edición o inserción.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Base de datos de un servidior a otro nfrfabian MS SQL Server 8 02-09-2007 02:16:21
manejo de errores de base de datos usando dbexpress e interbase ramirezjas Conexión con bases de datos 1 07-07-2007 22:15:13
replicar base de datos de un lugar a otro ctronx MySQL 3 17-01-2006 17:41:03
Base de Datos en un PC y Aplicacion en otro PC sierraja Conexión con bases de datos 8 18-06-2005 15:39:50
no me funciona mi base de datos en otro ordenador Cosgaya Varios 4 10-06-2005 12:00:56


La franja horaria es GMT +2. Ahora son las 16:09:02.


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