Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Error en Consulta (https://www.clubdelphi.com/foros/showthread.php?t=68702)

river_1 01-07-2010 10:20:00

Error en Consulta
 
Buenas a todos , tengo un problema al realizar una consulta por codigo,esta consulta la estoy asignando a un Adoquery y la hago de la siguiente manera:

consulta:=' SELECT ENCORDENES.ORDENID, ENCORDENES.NOMBRE, ENCORDENES.FECHA , DETORDEN.DESCRIP ,'+
'DETORDEN.CANTIDAD , DETORDEN.PUNIT , DETORDEN.SUBTOTAL , DETORDEN.PLACAS ,'+
'DETORDEN.ASIGNADOA,DETORDEN.TIPO'+
'FROM DETORDEN INNER JOIN ENCORDENES ON DETORDEN.ORDENID = ENCORDENES.ORDENID';
consulta :=consulta+ ' Where encordenes.Fecha between ''';
consulta := consulta + datetostr(FechaIni.Date);
Consulta:=Consulta + '''';
Consulta:=Consulta + ' and ''';
consulta :=consulta + datetostr(FechaFin.Date);
Consulta:=Consulta + '''';

Si se dan cuenta estoy haciendo un join por medio del campo ID.

Al ejecutar el codigo en delphi me dice que hay error cerca de la palabra clave INNER, lo raro es que esta consulta si la pongo igual en la BD SQL corre perfectamente bien.
Diganme por favor que tengo mal porque yo no veo nada raro..
Gracias..

urixiv 01-07-2010 10:26:52

Hola,

no se si puede ser esto, pero a mi me ha pasado alguna vez.
Cuando creas la consulta, antes del FROM mira que no tienes ningun espacio, entre el campo anterior que muestras y el FROM.
Haces un salto de linia, pero solo en el lenguaje de programación y no en el string que define la consulta.
Ponle al string un espacio antes del FROM o el caracter correspondiente al salto de linia.

Espero haber sido de ayuda

cloayza 01-07-2010 17:44:17

Podria quedar asi:

Código Delphi [-]
consulta:=FORMAT('SELECT ENCORDENES.ORDENID, ENCORDENES.NOMBRE,ENCORDENES.FECHA , DETORDEN.DESCRIP ,DETORDEN.CANTIDAD, 
DETORDEN.PUNIT , DETORDEN.SUBTOTAL , DETORDEN.PLACAS , DETORDEN.ASIGNADOA,DETORDEN.TIPO '+
'FROM DETORDEN INNER JOIN ENCORDENES ON DETORDEN.ORDENID =ENCORDENES.ORDENID '+
'WHERE encordenes.Fecha between %s AND %s',
[QuotedStr(datetostr(FechaIni.Date)), QuotedStr(datetostr(FechaFin.Date))]);

river_1 03-07-2010 07:38:18

MI estimado urixiv, creo que me iluminaste , ese era el problema ,quedo arreglado el problema , por eso digo que 4 ojos miran mejor que 2...
Saludos..


La franja horaria es GMT +2. Ahora son las 16:51:37.

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