Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Fechas y horas en SQL (https://www.clubdelphi.com/foros/showthread.php?t=35490)

Manuel 12-09-2006 16:33:30

Fechas y horas en SQL
 
Holas amigo del foro, me pasé bastante tiempo leyendo los hilos del foro relacionados con las fechas, pero ninguno me ayudo. Mi problema es el siguiente, tengo una tabla llamada historial en interbase 6.0, mis aplicaciones la hago en Delphi 5, en esta tabla tengo un campo FECHA_E tipo DATE que almacena la fecha y hora del usuario que se logea en el sistema. ahora tengo una query que me mustra los logeados por mes, año, día específico, etc. mi problema es cuando quiero ver los logeados en una fecha especifica no logra mostrarme los registros a pesar que existen con esa fecha.

Código SQL [-]
Query1.SQL.Add('fecha_e = '+QUOTEDSTR(FormatDateTime('mm/dd/yyyy',Fecha.Date)));

Fecha.Date es un TDateTimePicker, el cual le doy un formatdatetime, para que extraiga solo la fecha y deje el time fuera, pero resulta que el campo de la tabla almacena la fecha y la hora, mi pregunta es como capturo solamente la fecha del campo de la tabla historial.

vtdeleon 12-09-2006 16:58:18

Lo mejor que puedes hacer es usar parametros para dar valores de fecha en una sentencia. Ej:

Código Delphi [-]
...
Query1.SQL.Add('fecha_e = :fechav');
Query1.ParamByNAme('fechav').AsDate:=Fecha.Date;}
Query1.Open;

Manuel 12-09-2006 19:23:59

Gracias por responderme, como no se trabajar mucho, realice lo siguiente:

Código SQL [-]
  Query1.Close;
   Query1.SQL.Clear;
   Query1.SQL.Add('select * FROM historial');
   Query1.SQL.Add('fecha_e =:fechav');
   Query1.ParamByNAme('fechav').AsDate:=Fecha.Date;
   Query1.Open;

lo cual me marca un error aqui

Query1.SQL.Add('fecha_e =:fechav'); /// En el signo igual

vtdeleon 12-09-2006 23:52:32

:confused: :confused: Como dice el error?

Sinceramente no veo porque te da error en esa linea:confused:

Saludos

kuan-yiu 13-09-2006 10:09:03

Supongo que será una errata pero a esa sentencia le falta el "where":
Código SQL [-]
   Query1.Close;
   Query1.SQL.Clear;
   Query1.SQL.Add('select * FROM historial');
   Query1.SQL.Add('where fecha_e =:fechav');
   Query1.ParamByNAme('fechav').AsDate:=Fecha.Date;
   Query1.Open;

vtdeleon 13-09-2006 17:54:15

Oops, buena observación

Saludos


La franja horaria es GMT +2. Ahora son las 04:00:42.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi