Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-04-2004
inetplus inetplus is offline
Miembro
 
Registrado: feb 2004
Posts: 36
Poder: 0
inetplus Va por buen camino
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 ?
Responder Con Cita
  #2  
Antiguo 08-04-2004
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 21
marto Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 08-04-2004
Nadie Nadie is offline
Miembro
 
Registrado: ago 2003
Ubicación: http://manchasenlapared.blogspot.com
Posts: 75
Poder: 21
Nadie Va por buen camino
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
Responder Con Cita
  #4  
Antiguo 08-04-2004
Avatar de haron
haron haron is offline
Miembro
 
Registrado: may 2003
Ubicación: Las Palmas de Gran Canaria
Posts: 310
Poder: 21
haron Va por buen camino
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)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:04:01.


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
Copyright 1996-2007 Club Delphi