PDA

Ver la Versión Completa : 30/12/1899 cuando fecha en campo es null ?


Loviedo
20-02-2013, 23:29:36
Solicito ayuda. Alguien conoce la respuesta. Gracias anticipadas.
Cuando en un campo fecha de una tabla contiene null, en el dbgrid al mostrarlo aparaece la fecha 30/12/99.
En el displayformat del campo tengo 'dd/mm/yy'. ¿Que puedo hacer para que no aparezca nada en caso de null?
Saludos.

Loviedo
20-02-2013, 23:34:34
Perdón olvidé indicar que me sucede cuando la tabla esta unida a un TClientDataset, con un TQuery va bien.
Gracias.

Loviedo
20-02-2013, 23:40:00
No se el motivo, pero lo he podido solucionar poniendo los campos como Text.
En un Campo Fecha:
CampoClienteDataset.Text := CampoQuery.Text;
Saludos.

roman
20-02-2013, 23:47:15
Supongo, sin afirmar, que el comportamiento se debe a que no existe tal cosa como una fecha "cero". Al poner null en un campo fecha, imagino que el clientdataset hace la conversión a entero resultando un cero en lugar de null. Para delphi, una fecha es un número entero que representa el número de díias desde una fecha fija: 30/12/1899. De manera que el cero se traduce en esa fecha base.

Al usar el campo como texto, seguramente la conversión traduce el null en una cadena vacía.

// Saludos

Loviedo
21-02-2013, 12:36:29
Gracias.
Saludos.