FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
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 ? |
#2
|
||||
|
||||
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.
__________________
E pur si muove |
#3
|
|||
|
|||
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
__________________
comemos.com.ar, todo el delivery de Capital Federal en un solo lugar |
#4
|
||||
|
||||
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.
__________________
“Plantad la semilla de la avaricia en la infértil tierra de la estupidez y obtendreis la bella flor de la mierda” (Confucio) |
|
|
|