Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Problemas al buscar con campos tipo fecha (https://www.clubdelphi.com/foros/showthread.php?t=43015)

GustavoCruz 28-04-2007 17:29:55

Problemas al buscar con campos tipo fecha
 
Hola a todos, tengo un problema al realizar búsquedas por campos de tipo fecha.

estoy realizando una aplicación que no contiene dbgrid y por ello estoy utilizando dos componentes TQuery, uno para realizar consultas y otro para inserciones, actualizaciones y eliminaciones...



Código Delphi [-]function consultarSQL(cadenaSQL:string): boolean
begin
result:=false
with query1 do
begin
sql.clear;
sql.add(cadenaSQL);
open;
if isempty then
result:=true;
end;
end;







la función devuelve según encuentre...
las consultas con campos tipo fecha no me están funcionando...
esta es la consulta


Código Delphi [-]select * from tabla where fecha beetwen "'+formatdate('dd/mm/yyyy')+'" and "'+formatdate('dd/mm/yyyy')+'"'




;
pero si utilizo parámetros entonces sí me funciona...

Si alguien me puede decir cuál es el problema, le estaría muy agradecido...

ContraVeneno 28-04-2007 20:06:42

¿fue error de escritura o a la función formatdatetime le falta un parámetro?

El mero bueno, al que le vas a dar formato.

vamos a ver... tu función parece estar correcta, creo yo que el problema esta a la hora de asignar CadenaSQL.

vtdeleon 29-04-2007 06:11:34

Lo mejor sería que utilizaras parametros en el dataset para que la BBDD se encargue de la conversion de la fecha.

Código Delphi [-]
function consultarSQL(cadenaSQL:string): boolean
begin
  result:=false
  with query1 do
  begin
    sql.clear;
    sql.add(cadenaSQL);
    sql.ParamByName('fecha1').AsDate:=datetimePicker1.Date;
    sql.ParamByName('fecha2').AsDate:=datetimePicker2.Date;
    open;
    if isempty then
      result:=true;
  end;
end;
Estoy utilizando DateTimePicker para enviarle valores de fecha.
Código SQL [-]
select * from tabla where fecha beetwen :fecha1 and :fecha2


La franja horaria es GMT +2. Ahora son las 03:59:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi