Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   problema al insertar dato tipo date a un stringGrid (https://www.clubdelphi.com/foros/showthread.php?t=2167)

emil 11-07-2003 17:52:30

problema al insertar dato tipo date a un stringGrid
 
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:
Código:

ngGrid1.cells[2,I]:=fdm1.Qhabitacion.fieldbyname('fentreservacion').AsString;
Saludos!


La franja horaria es GMT +2. Ahora son las 18:01:27.

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