FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
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 |
#2
|
||||
|
||||
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
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
||||
|
||||
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. |
#4
|
|||
|
|||
Aquí informe...
Componentes: FIBPlus Evaluado: FIBDataset El resultado es el esperado... Saludos cordiales |
#5
|
||||
|
||||
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 |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
¿por que parametros opcionales function procedure no me funcionan? | JXJ | Varios | 9 | 13-04-2012 04:49:56 |
Parametros Opcionales no Parametros por defecto | Velia | Varios | 7 | 19-08-2006 15:18:42 |
Parametros Opcionales | c748a | Varios | 5 | 21-09-2005 04:53:25 |
Parametros Opcionales en Procedures/Functions | Enan0 | Varios | 4 | 03-03-2005 10:32:30 |
Parametros opcionales en SELECTs | Gydba | Firebird e Interbase | 4 | 22-04-2004 22:46:38 |
|