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 13-07-2004
Avatar de fearlex
fearlex fearlex is offline
Miembro
 
Registrado: abr 2004
Ubicación: Miami
Posts: 29
Poder: 0
fearlex Va por buen camino
Cita:
Empezado por roman
Por otro lado, la fecha de 1899 muy posiblemente se deba a que el DBTimePicker traduce un valor null (como lo será en un nuevo registro) a cero, que- traducido a tipo TDateTime -corresponde a 30/12/1899.

El problema con el DateTimePicker es precisamente que no maneja de forma nativa el concepto de fechas nulas. Y, sinceramente, cualquier control db que maneje fechas debiera tener en cuenta esto.

// Saludos
Exacto esa es la fecha, sabes como podria controlar eso por ke de veras que me tiene loco el problema ??
Responder Con Cita
  #2  
Antiguo 13-07-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
La solución que te propone Vic_ia es válida, simplemente tienes que controlar el evento BeforePost del Ttable, ahí compruebas si la fecha es nula ó no, y si es nula pues:

MiFecha.Clear;

De esta manera no se graba absolutamente nada.

Como veras tanto el DateTimePicker como el componente que dices has conseguido no tienen ningún problema, el problema es controlar cuando el usuario no introduce nada.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 13-07-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por marcoszorrilla
Como veras tanto el DateTimePicker como el componente que dices has conseguido no tienen ningún problema, el problema es controlar cuando el usuario no introduce nada.
Lamento diferir en este punto. La cuestión es precisamente que con el DateTimePicker no es posible "no introducir nada" y por ende no hay forma directa de guardar una fecha nula en la base. A juzgar por la descripción de fearlex, el DBTimePicker al menos guarda fechas "cero" (léase 30/12/1899) como nulos, pero esto tampoco es solución en los casos en los que tal fecha sea un valor válido (p. ej. la fecha de nacimiento de mi abuelo). Pero por otro lado está la cuestión de que la mencionada componente, al igual que el DateTimePicker interpretarán fechas nulas como 30/12/1899. El problema en principio se resuelve en registros nuevos con la técnica del evento OnNewRecord pero ¿qué pasará cuando no se trate de registros nuevos sino de registros ya existentes con fechas nulas o si no se desea dar ningún valor por defecto al campo fecha?

// 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


La franja horaria es GMT +2. Ahora son las 16:10:35.


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