Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Tema Cerrado
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-11-2022
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Poder: 2
giantonti1801 Va por buen camino
DatetimePicker buscar desde hasta en SQL

Buena noche tengo un inconveniente en relacion una consulta que debo hacer desde delphi 11 a la base de datos y para ellos estoy usando los componente datetimepicker para que dentro de la consulta se pueda señalar la fecha desde hasta.

Código Delphi [-]
ADOQuery1.SQL.Add('where FechaCre := '+DateToStr(DateTimePicker1.Date));

al darle click a un evento on chancge no me retorna ningún resultado.

en un principio pensé que no tenía el mismo formato de fecha que la base de dato y lo verifico con un showmessage y veo que efectivamente tenemos el mismo formato. pero ahora tengo una dura:
Es posible que no me esté regresando ningún resultado porque el campo de la base de dato en de tipo Datetime y esta almacenando tanto la fecha como la hora en el mismo campo y por eso que no me retorna ningún resultado?

Código SQL [-]
2022-11-17 00:00:00.000
2022-11-18 00:00:00.000
2022-11-23 22:31:00.000

este campo fecha lo coloco el default value en cada insert
Código SQL [-]
(CONVERT([varchar](16),getdate(),(27)))
.

Como puedo arreglar para poder utilizar esta consulta desde hasta en un formulario?

NOTA: También he intentado hacer un LIKE
Código Delphi [-]
ADOQuery1.SQL.Add('where FechaCre like '+DateToStr(DateTimePicker1.Date)+'%');
pero me retorna un error '%'.
  #2  
Antiguo 25-11-2022
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Ya te hemos respondido en el otro hilo

El problema es la hora.:

Copio y pego la respuesta:

Cita:
El problema es la hora.

Modifica la hora de la fecha que utilizas como parámetro.

Código Delphi [-]
procedure TFormConsulta.DateTimePicker1Change(Sender: TObject);
begin
  LabelDesde.Caption := DateToStr(DateTimePicker1.Date);
  Filtra(DateTimePicker1.Date, DateTimePicker2.Date);
end;

procedure TFormConsulta.DateTimePicker2Change(Sender: TObject);
begin
  LabelHasta.Caption := DateToStr(DateTimePicker2.Date);
  Filtra(DateTimePicker1.Date, DateTimePicker2.Date);
 end;

procedure TFormConsulta.Filtra(Desde, Hasta: TDateTime);
begin
  /// Modifico la hora de las fechas para abarcar el dia completo
  /// DESDE = dd/mm/yyyy **00:00:00**
  /// HASTA = dd/mm/yyyy **23:59:59**

  // Quito la hora del la fecha inicial
  Desde := RecodeTime(Desde, 0, 0, 0, 0);
  // Agrego hasta el ultimo milisegundo del día a la hora final
  Hasta := RecodeTime(Hasta, 23, 59, 59, 999);

  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('Select * from Tiket');
  ADOQuery1.SQL.Add('where FechaCre between :Fecha1 and :Fecha2');
  ADOQuery1.Parameters.ParamByName('Fecha1').Value := Desde;
  ADOQuery1.Parameters.ParamByName('Fecha2').Value := Hasta;
  ADOQuery1.Open;
end;
  #3  
Antiguo 25-11-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Por favor no dupiques temas, ya tienes uno abierto donde se est´contestando este tema.
Revisa la Guía de estilo de los foros.

Cierro este hilo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Tema Cerrado



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
DatetimePicker buscar desde hasta en SQL giantonti1801 MS SQL Server 12 25-11-2022 21:41:41
Números impares desde 1 hasta 1000 Daniel2622 Lazarus, FreePascal, Kylix, etc. 29 25-04-2017 03:55:58
Consulta Desde->Hasta Luis M. Firebird e Interbase 6 30-07-2008 19:40:34
calcular el nro de dias, desde una fecha hasta la actual. abraham SQL 13 01-08-2007 17:36:42
Reporte (Desde : Hasta) magnu9 SQL 9 16-11-2006 18:36:19


La franja horaria es GMT +2. Ahora son las 23:25:57.


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