Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-05-2005
Avatar de Kreyser
Kreyser Kreyser is offline
Miembro
 
Registrado: ago 2004
Ubicación: Barcelona
Posts: 114
Poder: 20
Kreyser Va por buen camino
Post Parametros NULL y Firebird

Hola foreros!!,

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.
__________________
"Es imposible hacer un programa 100% contra tontos, ya que éstos son muy ingeniosos"
Responder Con Cita
  #2  
Antiguo 18-05-2005
Avatar de Kreyser
Kreyser Kreyser is offline
Miembro
 
Registrado: ago 2004
Ubicación: Barcelona
Posts: 114
Poder: 20
Kreyser Va por buen camino
Lightbulb

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!!.
Gracias y saludos.
__________________
"Es imposible hacer un programa 100% contra tontos, ya que éstos son muy ingeniosos"
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 06:04:23.


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