Re: [firebase-br] Testar parâmetro nulo

Eduardo Jedliczka (TeamFB) jedyfb em gmail.com
Ter Jul 18 11:50:45 -03 2006


Pessoal,

Alguns dizem que este tipo de select funcionará no FB 2.0 (eu sinceramente 
não sei), mas o FB 1.X tem uma limitação muito grande no "contexto" de 
utilização de parâmetros. Não é possível comparar um parâmetro A com um 
parâmetro B, não é possível passar o nome da tabela por parâmetro, não é 
possível comparar um parâmetro com null, etc..

Mas não vejo muito motivo para quebrar tanto a cabeça. Há duas soluções 
simples:

1) Alterar o select pelo aplicativo.
2) Escrever uma SP que faz distinção entre os parâmetros e filtra apenas o 
desejado.

No FB 2.0 ainda temos o "execute block" que permite utilizarmos uma SP sem 
que ela exista no banco.

======================
Eduardo Jedliczka
Membro do TeamFB - FireBase
Apucarana - PR
======================

----- Original Message ----- 
From: ""Fabrício F. Kammer"" <ffkammer em conchalnet.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Tuesday, July 18, 2006 11:37 AM
Subject: Re: [firebase-br] Testar parâmetro nulo


Não funciona... eu já havia testado isso... dá erro na hora de executar
o sql

francisco gamarra escreveu:
> então faça o seguinte
>
> WHERE CAMPO=:PARAM OR cast(:PARAM as varchar(1000)) IS NULL.
>
>
>
>
> Em 18/07/06, "Fabrício F. Kammer" <ffkammer em conchalnet.com.br> escreveu:
>
>> É o que eu faço hoje, mas em meu novo projeto isso não será possível,
>> pois é para trabalhar com relatórios personalizados, e eu não saberei
>> quais parâmetros farão parte da query no código fonte de meu sistema,
>> então não poderei montar dinamicamente a cláusula WHERE.
>>
>> Realmente preciso de um condição para testar se um parâmetro é nulo ou
>> não.
>>
>> []s
>>
>>
>> francisco gamarra escreveu:
>>
>>> Partircularmente eu prefiro montar o SQL do que utilizar parâmetros.
>>> assim eu consigo montar melhor minhas condições
>>>
>>> Em 18/07/06, "Fabrício F. Kammer" <ffkammer em conchalnet.com.br> escreveu:
>>>
>>>
>>>> Salve Galera!
>>>>
>>>> Há como eu testar se um parâmetro é nulo? Mesmo que eu precise utilizar
>>>> alguma funcao UDF para isso.
>>>>
>>>>
>>>> Tenho várias consultas onde preciso que os parâmetros sejam opcionais,
>>>> ou seja, se o usuário deixá-los em branco, a consulta deverá trazer
>>>> todos os registros. Em Oracle eu consego utilizar o seguinte:
>>>>
>>>> WHERE CAMPO=:PARAM OR :PARAM IS NULL.
>>>>
>>>> Já no Firebird isso não é possível, então estou tentando achar alguma
>>>> solução para isto. Já testei o seguinte:
>>>>
>>>> WHERE CAMPO=:PARAM OR 0=:PARAM
>>>>
>>>> Isso funciona, basta eu passar o valor 0 (zero) no parâmetro que a
>>>> consulta me dá o retorno desejado, porém terei que lembra de utilizar
>>>> isso no momento de validação dos parâmetros e não gostaria de fazer
>>>> dessa forma, a menos que eu não encontre outra solução.
>>>>
>>>>
>>>> []s
>>>>
>>>> Fabrício F. Kammer
>>>>
>>>> ______________________________________________
>>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>>> Para editar sua configuração na lista, use o endereço
>>>> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>>
>>>>
>>>>
>>> ______________________________________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>> Para editar sua configuração na lista, use o endereço
>>>
>> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>>
>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>
>>>
>> --
>> Fabrício F. Kammer
>> 19 3866-1927
>> ConchalNet
>> Conchal/SP
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para editar sua configuração na lista, use o endereço
>> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço 
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>


-- 
Fabrício F. Kammer
19 3866-1927
ConchalNet
Conchal/SP


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa 





Mais detalhes sobre a lista de discussão lista