Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-04-2007
Avatar de GustavoCruz
GustavoCruz GustavoCruz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Sampués Sucre (Colombia)
Posts: 293
Poder: 18
GustavoCruz Va por buen camino
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...
Responder Con Cita
  #2  
Antiguo 28-04-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
¿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.
__________________

Responder Con Cita
  #3  
Antiguo 29-04-2007
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
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
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Problemas de agrupamientos con campos tipo date GustavoCruz Conexión con bases de datos 5 11-12-2006 17:36:57
problemas con campos Tipo Blob morfeo21 Firebird e Interbase 0 18-07-2005 18:06:54
Problemas con campos tipo TEXT bustio Conexión con bases de datos 3 08-02-2005 16:40:50
Buscar con campos DATE sur-se Firebird e Interbase 4 29-11-2004 12:51:20
Buscar por fecha.....ayuda!!! ronimaxh Firebird e Interbase 6 18-08-2004 14:38:29


La franja horaria es GMT +2. Ahora son las 17:26:41.


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