PDA

Ver la Versión Completa : Reiniciar variable TDate...


JoysticK
11-09-2008, 17:16:16
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.


MyDate := 0;

JoysticK
11-09-2008, 17:23:15
Hola,

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

Código Delphi [-] (http://www.clubdelphi.com/foros/#)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
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
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