Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PostgreSQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=42)
-   -   Mostrar campos fechas de postgres en un grid (https://www.clubdelphi.com/foros/showthread.php?t=90336)

yusnerqui 19-05-2016 22:26:10

Mostrar campos fechas de postgres en un grid
 
Hola amigos del foros, cuanto tiempo.
Les cuento que sigo con Delphi 7 mi eterno amor y ahora enfrento un proyecto en el cual debo conectarme a una base de datos Postgres para lo cual uso componentes zeos, hasta ahí todo bien.
El problema me surge cuando trato de visualizar en mi grid una consulta que incluye un campo fecha, este no se metra correctamente, de hecho, todas las filas aparecen con la misma fecha y del 1869 o algo así.
Lo mejoré un poco convirtiendo el campo fecha a varchar mediante un cast de postgres, pero no me sirve porque a la hora de ordenar desde la aplicación no lo hace correctamente como es lógico.
Por tanto la pregunta sería como puedo mostrar en un grid y manipular los campos fechas de postgres desde Delphi 7 con componentes zeos.

Agradeciendo de antemanos les saluda

Yusnerqui

Ñuño Martínez 20-05-2016 10:49:20

Nunca he usado Zeos, así que puede que mi comentario no encaje.

Supongo que estás usando un TStringGrid, ya que con TDBGrid no debería haber problema, salvo que haya un fallo (bug) en Delphi 7. Por eso pregunto, ¿con TDBGrid tienes algún problema?

Otra cosa que se me ocurre es que quizá la fecha no esté guardada en tiempo UNIX, que si no recuerdo mal es como suelen guardarse las fechas normalmente, o viceversa: que esté guardada en tiempo UNIX pero que no deba sera sí.

bitbow 20-05-2016 19:59:32

Que tipo de dato tienes definido para la fecha?

Puedes usar el evento onSetText para cambiar el formato de fecha, para el orden no se como podrias hacer ya que depende del tipo de campo definido.

Saludos.

yusnerqui 28-05-2016 23:24:08

Hola disculpa por la demora, es que me conecto con poca frecuencia a internet, les agradesco mucho la respuesta y les comento:

Si uso un dbGrid, mejor aun, uso un rxdbgrid, y el tipo de datos en la base de datos es date, de todos modos imagino que lo que me etá pasando es que la versión de zeos que uso no soporta el postgres 9.1 y acabo de descargar la última versión de zeos, lo pruebo y en la próxima conexión les cuento.

un afectuoso abrazo.


yusnerqui

wilcg 29-05-2016 05:00:54

hola yusnerqui,

No soy experto pero parece que no se está guardando correctamente las fechas, prueba si funciona de esta manera.

Código Delphi [-]
with Query do
begin
   Close;
   SQL.Clear;
   SQL.Add('INSERT INTO clientes('+
        ' dni, nombre, fecha ) VALUES ( '+
        ' :dni, :nombre, :fecha )');
   ParamByName('dni').AsString       := txtDni.Text;
   ParamByName('nombre').AsString    := txtNombre.Text;
   ParamByName('fecha').Value        := FormatDateTime( 'YYYY-MM-DD',Date ); //TEN ENCUENTA ESTA LINEA
   ExecSQL;
end;


La franja horaria es GMT +2. Ahora son las 05:11:12.

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