Ver Mensaje Individual
  #1  
Antiguo 13-12-2007
FelipeDiaz FelipeDiaz is offline
Miembro
 
Registrado: may 2007
Posts: 75
Reputación: 18
FelipeDiaz Va por buen camino
Smile Manejo De Errores En Bases De Datos

Hola,

Sigo desarrollando una aplicacion de delphi que accesa un BD de FIREBIRD.

He avanzado gradualmente sobre algunos obstaculos.

En este momento me encuentro frente a dos situaciones de manejo de errores:

La primera:

Cuando el usuario intenta grabar un nuevo registro de la tabla CLIENTES, se pueden presentar tres posibles errores
1. Que intenta duplicar la Clave.
2. Que intenta Duplicar el Nombre del cliente.
3. Que intenta colocar un cupo de credito Negativo.

La primera es una restriccion de PRIMARY KEY, la segunda es una de indice UNICO, y la tercera es violacion a un CHECK.


Mi pregunta es..... como detecto que violacion me genero el error para mandarle al Usuario el mensaje apropiado:
"Intenta crear un Codigo ya existente" ó
"Nombre de cliente ya existente" ó
"VAlor debe ser mayor que cero"

Si no es posible, ayudenme con una alternativa para enfrentar la situacion.


--------------------------

y Segunda:

Por medio de un artificio, un dato que es flotante, ejemplo: "0,055", se muestra en un DBEdit como "5%", osea expresado en porcentajes, mediante las porpiedades del campo getText y SetText.

Cuando el usuario esta editando el DBGrid, existe la posibilidad que no borre el signo %, y este quede como una entrada.

(El DBEdit, impide que el usuario teclee el signo %, directamente, pero este no es el caso porque se ingreso por codigo, por als propiedades mencionadas)


El problema es que cuando el usuario hace POST, estando el signo %, se genera un Error, algo asi como.....EConvertError.

He tratado de buscar la forma de bloquearlo y mas bien obligar a que el usuario quite ese signo. Pero No se dodne ubicarlo, no se como capturarlo.


Espero haberme explicado bien.

Saludos.

Felipe Diaz.
__________________
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!
Responder Con Cita