FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Si el parámetro es null mostrar todos
Hola a todos,
Como puedo hacer una consulta parametrizada en un IBquery de tal forma que si el parámetro es null me muestre todos los registros. Creo haber visto hace tiempo en los foros una solución pero no la encuentro. He solucionado el problema parcialmente poniendo: ... where id= :parametro or 0= :parametro pero necesito poder asignarle null |
#2
|
|||
|
|||
Hola
no puedes usar la funcion isnull(arametro,0) ? aqui tienes un articulo muy completo de como usar la funcion(por medio de un UDF) Suerte
__________________
Marín Ignacio Borthiry (Viet) - "El hombre arriesga su vida cada vez que elije y eso es lo que lo hace libre" ;) |
#3
|
||||
|
||||
No te lo puedo garantizar para ibquery, pero en general debiera funcionar:
where id= arametro or arametro is null. Si no te asigna el valor de los parámetros por nombre (como es el caso del BDE), podrias utilizar algo como: where id= arametro1 or arametro2 is null y asignar el mismo valor a parametro1 y parametro2. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#4
|
|||
|
|||
No quería usar las UDF y por otro lado
cuando pongo id= :parametro or :parametro is null me da el error data Type unknown no se si hay forma de evitar esto. |
#5
|
||||
|
||||
Editá la lista de parámetros, y asignale un tipo a (Parametro). Si aún así no funciona... proba poniendole un nombre diferente.
Algunos manejadores se harán un lio cuando dos parámetros tienen el mismo nombre. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#6
|
||||
|
||||
crea un procedimiento
if ("Parametro" is null) then For select * from "Tabla" into parametros de salidas; Else El select que necesitas |
|
|
|