Re: [firebase-br] Testar parâmetro nulo
Magnun Oliveira
magnun_magnun em hotmail.com
Ter Jul 18 11:56:33 -03 2006
Eu acompanhei a discussao pela janelinha, mas vou dar um oi ...
acho mt melhor a modificação do sql. Dah um pouco + de trabalho p/ testar
todas as possibilidades, + evita este tipo de dor de cabeça.
>From: "Eduardo Jedliczka (TeamFB)" <jedyfb em gmail.com>
>Reply-To: FireBase <lista em firebase.com.br>
>To: "FireBase" <lista em firebase.com.br>
>Subject: Re: [firebase-br] Testar parâmetro nulo
>Date: Tue, 18 Jul 2006 11:50:45 -0300
>
>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
>
>
>______________________________________________
>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
_________________________________________________________________
MSN Messenger: converse com os seus amigos online.
http://messenger.msn.com.br
Mais detalhes sobre a lista de discussão lista