Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Reiniciar variable TDate... (https://www.clubdelphi.com/foros/showthread.php?t=59882)

JoysticK 11-09-2008 17:16:16

Reiniciar variable TDate...
 
Hola, ya estamos por aqui con otra duda... estoy intentando hacer algo pareceido a esto...

variable1: TDate;


If Not fecha.isnull Then
variable1 := fecha.value
else
variable1 := Null;


pero recibo error en variable1 := Null .... como se vacia/reinicia una variable tipo date ?

dec 11-09-2008 17:17:28

Hola,

Creo que puedes asignarle un "valor cero", sencillamente, no sé si me equivoco.

Código Delphi [-]
MyDate := 0;

JoysticK 11-09-2008 17:23:15

Cita:

Empezado por dec (Mensaje 313534)
Hola,

Creo que puedes asignarle un "valor cero", sencillamente, no sé si me equivoco.

Código Delphi [-]MyDate := 0;


Impresionante la velocidad de respuesta jejeje, lo acabo de probar y me he encontrado con el fallo/problema que me suponia...

Si le asigno a variable1 := 0; y despues le hago un ShowMessage(DatrToStr(variable1)) me devuelve 30/12/1899... una putadilla para mi la verdad...

Por eso estaba buscando alguna forma de asignarle valor nulo a la variable :(

O bien tendre que controlar mediante codigo que cuando sea esa fecha me la cambie por null a la hora de guardarla en el campo de la base de datos

ninguno 11-09-2008 17:28:36

Hola

Si quieres "jugar" con los null, deberás usar una variable de tipo Variant. Luego tienes métodos para transformar ese variant a fecha como VarToDateTime

dec 11-09-2008 17:30:23

Hola,

No sé... lo que se me ocurre a bote pronto igual es una tontería, pero, a la hora de guardar la información en la base de datos, ¿no podrías guardar directamente un valor "null", y no el valor de la variable que se supone puede contener dicho valor? No sé si me explico... ni si digo algo más o menos curioso... ;)

JoysticK 11-09-2008 17:31:16

Cita:

Empezado por ninguno (Mensaje 313541)
Hola

Si quieres "jugar" con los null, deberás usar una variable de tipo Variant. Luego tienes métodos para transformar ese variant a fecha como VarToDateTime

Interesante, no se me habia ocurrido jeje, voy a investigarlo, parece buena idea :D

JoysticK 11-09-2008 17:34:55

Cita:

Empezado por dec (Mensaje 313545)
Hola,

No sé... lo que se me ocurre a bote pronto igual es una tontería, pero, a la hora de guardar la información en la base de datos, ¿no podrías guardar directamente un valor "null", y no el valor de la variable que se supone puede contener dicho valor? No sé si me explico... ni si digo algo más o menos curioso... ;)

La verdad es que el problema me venia cuando asignaba a la variable1 el valor del campo directamente, si el campo era nulo pues variable1 cogia como valor la fecha maldita esa (30/12/1899) y claro, cuando despues utilizaba la variable para almacenarla en otro campo de la base de datos, en vez de guardar nulo, me almacenaba ese valor, y vincular directamente de un campo a otro no puedo hacerlo pues las consultas tengo que mantenerlas el menor tiempo posible abiertas, estoy trabjando con cliente servidor y la linea me pega cortes cada dos por tres... :( voy a investigar con el tipo variant a ver si puedo asignarle valor null...

JoysticK 14-09-2008 03:37:59

Si, problema resuelto utilizando variables tipo variant a las que si puedo asignarles valor null, Gracias a todos :D


La franja horaria es GMT +2. Ahora son las 20:22:01.

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