![]() |
Parámetros opcionales en consulta SQL
Hola,
Si tengo una consulta de este tipo:
con los componentes que uso (MyDac) funciona como se espera, o como espero. Esto es, si no asigno ningún valor al parámetro :param, la consulta devuelve todos los registros, pero si asigno un valor entonces el filtro se hace efectivo y devuelve sólo los registros correspondientes. Mi duda es si este comportamiento sucede en general en otros componentes tipo Query o es exclusivo de MyDac. // Saludos |
Hola roman.
Hice unas pruebas y con Firebird/TIBQuery, algunos cambios mediante, finalmente funcionó del modo que comentas.
Con mdb/TADOQuery me trae todos los campos, aún cuando le especifique uno:
Con BDE y TQuery si la tiene, no le encontré la vuelta (pero estos dos últimos componentes y gestores no son mi fuerte). Saludos :) |
Hola Román.
Cita:
Aunque yo pondría primero la condición :Param Is Null y luego la condición Campo = :Param. Bajo la lógica de contemplar primero la opción más simple de razonar (¿trae valor?) y luego la más elaborada (¿el valor que trae es el mismo del campo tal?). Desde luego, aplico esta clase de acomodos "mentales" siempre que no repercuta negativamente en el desempeño de procesamiento. Aprovecho para pedirte que por favor me esperes un par de semanas más para darte una razón de aquello que está pendiente. ;) Un abrazo. Al. |
Aquí informe...
Componentes: FIBPlus Evaluado: FIBDataset El resultado es el esperado... Saludos cordiales |
Muchas gracias por las respuestas. Por lo que veo, no parece ser un estándar aun cuando sería deseable que lo fuese. Claro que, en realidad, el problema se origina en que la VCL no establece un ancestro común para los componentes tipo Query (TDataSet es demasiado genérico) así que, supongo, queda en manos de cada implementador el qué hacer cuando no se asigna valor a un parámetro.
// Saludos |
La franja horaria es GMT +2. Ahora son las 06:10:30. |
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