Cita:
Empezado por giantonti1801
...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 este caso para obtener los datos entre dos fechas (desde...hasta) como comentas debes usar el operador
BETWEEN e indicar las dos fechas.
Si segun la Base de Datos que utilices no puedes usarlo deberás usar algo como:
Código Delphi
[-]WHERE (FechaCre >= fecha1) and (FechaCre <= fecha2)
Cita:
Empezado por giantonti1801
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?
|
Seguramente es por eso y al estar usando un =, sólo te retornaría registros que coincidan exactamente con la fecha y hora.
Lo primero, yo te aconsejaría utilizar parámetros en la consulta, eso te evita todos los problemas relacionados con el formato del campo.
Código Delphi
[-] ADOQuery1.SQL.Add('where FechaCre where Fecha between :fecha1 and :fecha2)');
ADOQuery1.Parameters.ParamByName('fecha1').Value := DateTimePicker1.Date;
ADOQuery1.Parameters.ParamByName('fecha2').Value := DateTimePicker2.Date;
Lo segundo es que resuelvas el tema de fecha o FechayHora en los valores. Asegúrate de enviar sólo valores de fecha (sin hora).