![]() |
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 |
Hola
no puedes usar la funcion isnull(:parametro,0) ? aqui tienes un articulo muy completo de como usar la funcion(por medio de un UDF) Suerte ;) |
No te lo puedo garantizar para ibquery, pero en general debiera funcionar:
where id= :parametro or :parametro 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= :parametro1 or :parametro2 is null y asignar el mismo valor a parametro1 y parametro2. Hasta luego. ;) |
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. |
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. ;) |
crea un procedimiento
if ("Parametro" is null) then For select * from "Tabla" into parametros de salidas; Else El select que necesitas |
| La franja horaria es GMT +2. Ahora son las 04:00:32. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi