Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-09-2012
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
no encuentra fecha igual en consulta

hola,

Dando vueltas arriba o abajo no entiendo por que, cuando hago una consulta que busca una fecha igual a otra no aparece o bien, cuando hago una consulta como esta:

Código Delphi [-]

fecha1:=zvdatetimepicker1.Date;
   fecha2:=zvdatetimepicker2.date;
   zquery1.close;
   zquery1.sql.clear;
   zquery1.sql.text:='select * from tcheques where cfecha between :fecha1 and :fecha2';
   zquery1.parambyname('fecha1').asdatetime:=fecha1;
   zquery1.parambyname('fecha2').asdatetime:=fecha2;
    zquery1.active:=true;

En ese caso, si le pongo de primera fecha 11/11/2011, no me la saca, para eso tengo que ponerle 10/11/2011.

He probado con esto para probar el detalle de fecha igual:

Código Delphi [-]
fecha1:=zvdatetimepicker1.Date;
      zquery1.close;
   zquery1.sql.clear;
   zquery1.sql.text:='select * from tcheques where cfecha = :fecha1';
   zquery1.parambyname('fecha1').asdatetime:=fecha1;
    zquery1.active:=true;

pero no muestra ninguna, no me funciona.

Alguien sabe porque la fecha inicial no la usa y la final si?.
Responder Con Cita
  #2  
Antiguo 01-09-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Me imagino que between es entre en ingles, tal vez es eso lo que pasa, yo uso esto:
Código Delphi [-]
   fecha1:=zvdatetimepicker1.Date;
   fecha2:=zvdatetimepicker2.date;
   zquery1.close;
   zquery1.sql.clear;
   zquery1.sql.text:='select * from tcheques where Cfecha >= :fechaA and Cfecha <= :fechaB';
   zquery1.parambyname('fechaA').asdatetime:= fecha1;
   zquery1.parambyname('fechaB').asdatetime:= fecha2;
    zquery1.active:=true;
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 01-09-2012
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Gracias, pero si también probé eso y sigue igual,

uso sqlite y lazarus.

nose donde puede estar el detalle.
Responder Con Cita
  #4  
Antiguo 01-09-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Pues no lo se, no deberia de tener ese comportamiento, deberia de mostrar una sola fecha siempre que las dos fechas de los datetimepickers sean iguales.
no lo se.
saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 01-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Tanto la consulta de tu primer mensaje como la que te sugirió Carlos son correctas.

Lo primero que se me ocurre, es pensar en los intermediarios ¿ De que tipos son las variables fecha1 y fecha2 ?
Lo segundo es atribuirlo a algún comportamiento del componente TZQuery con respecto a la conversión o los parámetros, pero aunque no lo conozco me parece poco probable...


Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 01-09-2012
beginner01 beginner01 is offline
Miembro
NULL
 
Registrado: mar 2011
Ubicación: República Dominicana
Posts: 181
Poder: 14
beginner01 Va por buen camino
Hola.

Las consultas parecen estar correctas, pero existe un inconveniente aparentemente en como sqlite maneja las fechas, pero creo que obtube una solucion que puede resolver este problema con la ayuda de la web de sqlite donde hay suficiente información en como usar las fechas y la forma que yo use fué.

Código SQL [-]
--Ejemplo1.

select * 
from testfecha 
where strftime('%Y-%m-%d',fecha) <= strftime('%Y-%m-%d','2012-08-31')

--Ejemplo2.
select * 
from testfecha 
where strftime('%d/%m/%Y',fecha) = strftime('15/08/2012')

--Ambos ejemplos me funcionaron perfectamente usando sqlite3, zeos 6.6.6 y delphi XE.

Ya con esto puedes "jugar" con el formato para que se ajuste a lo que necesitas.
Responder Con Cita
  #7  
Antiguo 01-09-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por anubis Ver Mensaje
En ese caso, si le pongo de primera fecha 11/11/2011, no me la saca, para eso tengo que ponerle 10/11/2011.
No te saca ¿qué? ¿Cómo podemos saber qué pasa si nada más indicas lo que pones de primera fecha y no de segunda?

// Saludos
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Numero Mayor igual , Menor igual... Problema ZiriusB OOP 12 27-06-2011 17:31:24
Mostrar Ceros En Consulta Si No Encuentra Los Datos ingabraham SQL 5 18-01-2009 21:18:57
Consulta en Cero si no se encuentra datos ingabraham SQL 14 06-01-2009 19:55:16
Consulta Fecha truequeman Varios 2 13-01-2007 18:51:34
Consulta con fecha JODELSA SQL 4 12-12-2003 19:51:28


La franja horaria es GMT +2. Ahora son las 14:07:36.


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