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

Marcelo Durães da Silva marceloduraes em terra.com.br
Ter Jul 18 12:21:20 -03 2006


Fabricio.

Estou desenvolvendo uma aplicação exatamente como a sua. As dúvidas que você
está apresentando também me serão muito úteis.

Estou no momento desenvolvendo classes para o tratamento dos componentes que
serão mostrados em em form em tempo de execução e retornarao informacoes
para que seja montado o SQL.

Se quiser trocar umas ideias poderemos nos contactar fora da lista.

Sds,

Marcelo Durães da Silva

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de "Fabrício F. Kammer"
Enviada em: terça-feira, 18 de julho de 2006 12:09
Para: FireBase
Assunto: Re: [firebase-br] Testar parâmetro nulo

Bom dia Eduardo,

Qual é a idéia da SP??? não entendi...

Qto a alteração da instrução SQL via aplicativo está fora de cogitação,
Estou trabalhando em um gerador de relatórios personalidados (Report
Manager), dessa forma todos os parâmetros estarão na configuração do
relatório e meu aplicativo não saberá quais são os parâmetros, apenas lerá a
lista de parâmetros e montará um form com eles para o cliente realizar os
filtros desejados.

[]s

Fabrício

Eduardo Jedliczka (TeamFB) escreveu:
> 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