Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Consulta con Fechas (https://www.clubdelphi.com/foros/showthread.php?t=8983)

inetplus 08-04-2004 02:05:06

Consulta con Fechas
 
Tengo el siguiente codigo:
//
QueryFacturas.Close;
QueryFacturas.SQL.Clear;


lineasql:='Select * from Factura.db where Fecha >= ' +
QuotedStr(FormatDateTime('dd/mm/yyyy',strtodate(fecdes))) +' and Fecha <= ' + QuotedStr(FormatDateTime('dd/mm/yyyy',strtodate(FECHAS)));

QueryFacturas.SQL.Add(lineasql);
QueryFacturas.Open;

//
Donde FECDES = 07/02/2003 y FECHAS = 07/04/203

Cuando realizo la consulta intercambia los dias por meses es decir que en este caso buscaría aquellos registros que se encuentran entre las fechas 02/07/2003 y 04/07/2003.

A que se debe esto ?

marto 08-04-2004 09:51:28

Wop!

Pues muy probablemente se deba a tu motor de base de datos (que no dices cuál es). Si este está configurado para trabajar con formato de fechas mm/dd/yyyy, esperará que le pases las fechas en este formato. Prueba cambiando el formato de FormatDateTime.

Nadie 08-04-2004 16:47:32

te recomiendo en vez de usar >= y <= uses between, la sintaxis seria fecha between :diadesde and :diahasta, como dijo marto dependiendo el motor de base de datos el formato y los comandos de fecha cambian, para eso es recomendado usar parambyname y fieldbyname

haron 08-04-2004 21:09:41

en este caso lo que yo hago es lavarme las manos. que el formato sea responsabilidad de delphi, no mia.

hazlo asi, a ver si te sirve:

QueryFacturas.Close;
QueryFacturas.SQL.text:='Select * from Factura.db where Fecha >= :fecha_desde and Fecha <= :fecha_hasta';
QueryFacturas.paramByName('fecha_desde').value:=fecdes;
QueryFacturas.paramByName('fecha_hasta').value:=fechas;
QueryFacturas.Open;

de esta forma creo que te va a servir para todas las bases de datos y no tienes que preocuparte por el formato de las fechas, ya que eso es responsabilidad de Delphi.


La franja horaria es GMT +2. Ahora son las 00:23:56.

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