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)
-   -   Parametros NULL y Firebird (https://www.clubdelphi.com/foros/showthread.php?t=21462)

Kreyser 18-05-2005 13:17:45

Parametros NULL y Firebird
 
Hola foreros!!, :p

Tengo la siguiente consulta con parámetros funcionando contra mysql y me encuentro migrando a firebird 1.5,

Código:

        sql:='select * from inmuebles ' +
        'where (id_zona = :PZona OR :PZona IS NULL) ' +
        'and (id_tipo_inmueble = :PTipoInmueble OR :PTipoInmueble IS NULL) ' +
        'and (id_estado = :PEstado OR :PEstado IS NULL) ' +
        'and (altura_inmueble = :PAltura OR :PAltura IS NULL) ' +
        'and (precio_buy >= :PPrecioBuyInf OR :PPrecioBuyInf IS NULL) ' +
        'and (precio_buy <= :PPrecioBuySup OR :PPrecioBuySup IS NULL) ' +
        'and (metros_cuadrados >= :PMetrosInf OR :PMetrosInf IS NULL) ' +
        'and (metros_cuadrados <= :PMetrosSSup OR :PMetrosSup IS NULL) ';

Dicha consulta funciona, tanto al asignarle un valor al parámetro, como al no asignarselo si trabaja contra MySql.
Ahora, contra Firebird, me arroja el siguiente error:

Código:


Dinamic SQL Error - code -804 Data type unknow.
An error was found in the application program input parameters for the SQL statement.

Se lo achacaría a mi primera semana con firebird, pero hoy me levante con la mente nublada... rogaría algo de luz al respecto.:(

Cualquier comentario, orientación o sugerencia será bien recibida.
Gracias de antemano, por vuestro interés.:)

Saludos.

Kreyser 18-05-2005 17:16:04

Buenas nuevamente, ;)

Me dieron una solución tal q:

Código:

select * from immuebles
where (id_zona = :pzona or :pzona = -1) and
                  (id_estado = :pestado or :pestado = -1) and
                  .....

Para mi caso funciona a la perfección!!.:D
Gracias y saludos.


La franja horaria es GMT +2. Ahora son las 06:24:56.

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