Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-06-2003
lirio lirio is offline
Registrado
 
Registrado: may 2003
Posts: 6
Poder: 0
lirio Va por buen camino
Unhappy duda sobre dbisavechanges, dbedit y una mascara en el campo

Buen dia, Tengo el siguiente problema.
Utilizo dbisavechanges en una tabla, bueno en un campo de dicha tabla guardo una fecha, en este caso utilizo una mascara en el campo. En la pantalla de captura para dicho campo utilizo un dbedit, el problema surge cuando no ingreso una fecha, como tengo el dbisavechanges, me manda un error de EDBEditErro Invalid input Value.
He tratado de utilizar con try except el econverterror y el edbediterror, pero no hace nada hasta al final que se ha provocado el error. Tambien he utilizado el el Onset del componente y tampoco me funicona. Podria alguien ayudarme.
Gracias.
Responder Con Cita
  #2  
Antiguo 04-06-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Poder: 22
andres1569 Va por buen camino
Hola:

Parece ser que el valor que queda en dicho campo cuando el usuario no introduce nada es inválido (quizás provocado por la máscara). Si no quieres que te salte el error al grabar en disco, prueba de interceptar el evento OnValidate del campo en cuestión y ahí miras si la fecha es válida. También lo puedes realizar en el evento BeforePost de la tabla.

Lo que me intriga es por qué falla si no introduces nada, ¿qué mascara estás utilizando?

Otra posible causa de error sería que el campo estuviera como Required en la base de datos y por eso te salte al grabar (aunque lo normal es que en Delphi también aparezca como Required y falle en el Post).

A ver que nos dices
Responder Con Cita
  #3  
Antiguo 04-06-2003
lirio lirio is offline
Registrado
 
Registrado: may 2003
Posts: 6
Poder: 0
lirio Va por buen camino
Question

Me dio mucho gusto que me respondiera alguien, te lo agradezco. Con respecto a tu pregunta mi mascara es !99/99/00;1;_
tengo una duda para que sirve ! y porque se pone el 9, segun entiendo tambien podria ser
!00/00/00;1;_ ¿Cual es la diferencia? Ah y se que con el 1 indica que los caracteres literales dben ser incluidos.
Con respecto a OnValidate, como funciona el evento y puede poner en ese evento edbediterror, si puedo hacerlo que error es el 'Invalid input Value' Bueno y si valido el error, de todas formas no me dejaria almacenar el campo nulo, o si? Cabe aclarar que estoy utilizando Paradox.
Gracias
Responder Con Cita
  #4  
Antiguo 05-06-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Poder: 22
andres1569 Va por buen camino
Hola:

El uso de las máscaras viene explicado en la ayuda de Delphi. No soy muy aficionado a las mismas así que me lo he mirado y allí dice que el 0 requiere un número y el 9 lo admite pero no lo requiere. La máscara que indicas es correcta, aunque a estas alturas de siglo XXI sería conveniente que para el año pusieras cuatro cifras: !99/99/0000;1;_

He hecho una prueba con esa máscara aplicada a un campo fecha (para que veas que en estos foros nos preocupamos por solucionar problemas ajenos) y no me salta ningún error si no introduzco valores, otra cosa es si entro en el DBEdit, escribo algo y luego lo borro, aunque aparentemente el campo está vacío, los literales sí se copian (hablo de los separadores "/") y me salta el error que tú dices, pero salta al salir del DBEdit, no al grabar (hay que pulsar ESC para que deshaga los cambios en el DBEdit).

El EDBEditError que comentas es un error del componente TDBEdit (como indica su nombre), no veo que tenga ninguna relación con el uso de dbiSaveChanges. ¿Has probado a ver si salta el mismo error cuando pierde el foco este DBEdit, sin necesidad de grabar? Prueba de pasar a otro control desde el DBEdit a ver si salta el mismo error.

Un saludo
Responder Con Cita
  #5  
Antiguo 05-06-2003
e_god e_god is offline
Registrado
 
Registrado: may 2003
Posts: 4
Poder: 0
e_god Va por buen camino
Lea las respuestas al tema fechas nulas maskedit del usuario krynn77 mas abajo del 04/06/2003.
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 06:44:38.


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