Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Ayuda por favor para armar consulta en firebird (https://www.clubdelphi.com/foros/showthread.php?t=47193)

Velia 21-08-2007 16:52:06

Ayuda por favor para armar consulta en firebird
 
HOla
Cometi el tremendo error de programar en delphi con access y una vez terminado el programa recién pasarlo a firebird porque no lo se utilizar bien y ahora que quiero ponerlo en funcionamiento me salen miles de errores y justo ahora que estoy con los tiempos pasados.
Bueno. Mi problema es esta consulta que en access la generaba bien

Código SQL [-]
SELECT
(Entradas.nro_expte & '-' & Entradas.letra_expte  & '-' & Entradas.anio_expte) AS NroExpte,
Entradas.nro_expte,
Entradas.letra_expte,
Entradas.anio_expte,
Entradas.fecha_ingreso,
Entradas.cod_profesional_emisor,
Entradas.tiempo_estimado_resolucion,
Expedientes.extracto,
(Profesionales.apellido_profesional & IIf(Profesionales.nombre_profesional<>'',', ' & Profesionales.nombre_profesional,'')) AS NomApeAbogado
FROM (Entradas INNER JOIN Expedientes ON (Entradas.nro_expte= Expedientes.nro_expte AND Entradas.letra_expte = Expedientes.letra_expte AND Entradas.anio_expte=Expedientes.anio_expte)) 
LEFT JOIN Profesionales ON Entradas.cod_profesional_emisor = Profesionales.cod_profesional
WHERE ISNULL(Entradas.fecha_salida)
AND Entradas.tiempo_estimado_resolucion < :PFechaActual



pero cuando quiero probarla en firebird me dice: [ODBC Firebird Driver][Firebird]Dynamic SQL Error SQL error code=-104 Token unknown -line2, column 21

Perdon por poner todo el codigo sql, lo que pasa, es que no se cual es el caracter que no reconoce firebird y no sé por cual otro lo podria reemplazar o si debo poner en comillas dobles, no sé.

Gracias por la ayuda.
Velia

gluglu 21-08-2007 17:09:01

Pues entiendo que el carácter que no te reconoce es el que está en la línea 2, y posición 21, tal y como te indica el error. Ese caracter en tu consulta es '&'.

Código SQL [-]
SELECT
(Entradas.nro_expte || '-' || Entradas.letra_expte  || '-' || Entradas.anio_expte) AS NroExpte,
...

Saludos ;)

eduarcol 21-08-2007 17:12:25

el & es el caracter de concatenacion de VB, para concatenar en Firebird debes utilizar el doble pipe, segun la guia de arranque rapido de firebird, que dice :

Cita:

Concatenación de cadenas
El símbolo de concatenación en SQL es un doble “pipe” (ASCII 124, un par sin espacio entremedio).
En SQL, el símbolo “+” es un operador aritmético y provocará un error si intenta usarlo para concatenar
cadenas. La siguiente expresión agrega el siguiente texto “ Reportado por: ” delante de cada
apellido:
'Reportado por: ' || LastName
Tenga cuidado con las concatenaciones. Tenga en cuenta que Firebird generará un error si su expresión
intenta concatenar dos o más columnas de tipo char o varchar si la longitud combinada puede exceder
el límite máximo de longitud para el tipo char o varchar (32 KB).
Vea también en las notas más abajo, Expresiones con NULL, sobre la concatenación de expresiones
que involucran NULL.
Mas informacion en:

http://www.firebirdsql.org/pdfmanual...5-Arranque.pdf

eduarcol 21-08-2007 17:12:59

Estoy lento :rolleyes:

Velia 21-08-2007 17:37:47

Muchas Gracias!!! Nuevamente
 
Gracias Nuevamento Por El Ayudón
Saludos
Velia


La franja horaria es GMT +2. Ahora son las 19:25:20.

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