Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Between con Delphi y SQL (https://www.clubdelphi.com/foros/showthread.php?t=32285)

kavisch 01-06-2006 16:25:14

Between con Delphi y SQL
 
Saludos a todos,:)

mi problema es que estoy haciendo una consulta en Delphi utilizando ADOQUERY, bien quiero consultar los registros que esten entre dos fechas, cuando hago esto en el componente ADOQUERY me desplega un error, aqui la sentencia que he colocando en mi componente adoquery ::confused:
porfavor ayudenme con esto, gracias.

Cita:


SELECT COUNT(a.SERVICIO) AS SERVICIO ,A.CLIENTE,a.COMPANIA,B.CATEGORIAPUESTO,A.FECHA
FROM VENTAS a, CLIENTE_PRV B
WHERE a.CLIENTE=B.CLIENTE
AND A.FECHA>=:FECHAINI
AND a.FECHA<=:FECHAFIN
AND A.COMPANIA=:COMPANIA
AND B.CATEGORIAPUESTO=:CATEGORIA
AND A.SERVICIO=:SERVICIO
AND A.COMEDOR=:COMEDOR
GROUP BY a.SERVICIO, a.COMPANIA,B.CATEGORIAPUESTO,A.CLIENTE,A.FECHA


Neftali [Germán.Estévez] 01-06-2006 16:27:52

Cita:

Empezado por kavisch
...cuando hago esto en el componente ADOQUERY me desplega un error...

¿Y el error es..?

tcp_ip_es 01-06-2006 16:44:41

A parte de que error te da.... nos podrías decir la BD que utilizas??? porque el tema fechas es distinto en cada BD... ejemplo Access (#xx/xx/xxxx#) , MySQL ('xx/xx/xxxx')...
el formato del between en Access sería:

Código SQL [-]
Fecha1 between (#01/01/2006#) and (#31/01/2006#)

Saludos, Tony

kavisch 01-06-2006 17:34:26

Between Delphi
 
saludos otra vez,

bien la base de dato que utilizo es SQL, Error que me da es:
[quote]Incorrect syntax near 'BETWEEN@P1' [quote]

y el codigo que puse en mi componete adoquery es :
Cita:


SELECT COUNT(a.SERVICIO) AS SERVICIO ,A.CLIENTE,a.COMPANIA,B.CATEGORIAPUESTO,A.FECHA
FROM VENTAS a, CLIENTE_PRV B
WHERE a.CLIENTE=B.CLIENTE
AND A.FECHA
BETWEEN:FECHA1 AND:FECHA2
AND A.COMPANIA=:COMPANIA
AND B.CATEGORIAPUESTO=:CATEGORIA
AND A.SERVICIO=:SERVICIO
AND A.COMEDOR=:COMEDOR
GROUP BY a.SERVICIO, a.COMPANIA,B.CATEGORIAPUESTO,A.CLIENTE,A.FECHA

Gracias,
kelvin

tcp_ip_es 01-06-2006 17:44:54

Entiendo que será SQL Server, la consulta parece estar bien tienes que separar el Between y el AND de los parámetros con espacio.

Código SQL [-]
SELECT COUNT(a.SERVICIO) AS SERVICIO ,A.CLIENTE,a.COMPANIA,B.CATEGORIAPUESTO,A.FECHA
FROM VENTAS a, CLIENTE_PRV B
WHERE a.CLIENTE=B.CLIENTE
AND A.FECHA BETWEEN :FECHA1 AND :FECHA2
AND A.COMPANIA=:COMPANIA
AND B.CATEGORIAPUESTO=:CATEGORIA
AND A.SERVICIO=:SERVICIO
AND A.COMEDOR=:COMEDOR
GROUP BY a.SERVICIO, a.COMPANIA,B.CATEGORIAPUESTO,A.CLIENTE,A.FECHA

prueba a no pasarle parámetros y simplemente coloca las fechas a pelo, para ver si el error viene de como utilizas los params.

Saludos, Tony

kavisch 02-06-2006 01:22:21

Between Delphi
 
Gracias, el problema realmente es que tenia especia el el Between y con SQL no los lleva... Muchas Gracias..


La franja horaria es GMT +2. Ahora son las 23:10:30.

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