PDA

Ver la Versión Completa : problema al insertar dato tipo date a un stringGrid


emil
11-07-2003, 17:52:30
estoy trabajando con access y tengo un campo tipo datetime

y cuando intento insertarlo me da error
ejemplo
stringGrid1.cells[2,I]:=DateToStr(fdm1.Qhabitacion.fieldbyname('fentreservacion').value);

charly
11-07-2003, 18:07:04
Hola,
Yo uso una funcion (nada optimizada) para hacer consultas a Firebird y como este usa las fechas en formato texto te la copio por si te puede servir.

function DtoSFB(dFecha:TDate;cSeparador:string;lHoraInicial,lHoraFinal:boolean):string;
var nDia,nMes,nAnyo:word;
cDia,cMes,cAnyo:string;
begin

if cSeparador = '' then cSeparador := '.';

DecodeDate(dFecha,nAnyo,nMes,nDia);
if length(IntToStr(nDia)) = 1 then
cDia := '0'+IntToStr(nDia)
else
cDia := IntToStr(nDia);

if length(IntToStr(nMes)) = 1 then
cMes := '0'+IntToStr(nMes)
else
cMes := IntToStr(nMes);

cAnyo := IntToStr(nAnyo);

if cAnyo = '' then
Result := ''
else
if lHoraInicial then
Result := cMes+cSeparador+cDia+cSeparador+cAnyo+' 00:00:00'
else
if lHoraFinal then
Result := cMes+cSeparador+cDia+cSeparador+cAnyo+' 23:59:59'
else
Result := cMes+cSeparador+cDia+cSeparador+cAnyo;

end;

Como detalle tiene que se puede poner el separador de fecha y que te incluya la primera hora o ultima del día, ya que cuardo la fecha como timestamp y para sacar los datos de un día necesito tener en cuenta la hora.
Tal vez si no te sirve directamente, la puedes modificar y para los que usen Interbase/Firebird le puede ser util.
Un saludo

delphi.com.ar
11-07-2003, 18:41:34
Hola Emil, sería bueno que nos comentes que error te da, así podemos llegar a saber cual es el problema, aunque me supongo que tu problema es con los tipos Variant cuando sea Value = Null.
Prueba esto:
ngGrid1.cells[2,I]:=fdm1.Qhabitacion.fieldbyname('fentreservacion').AsString;

Saludos!