Re: [firebase-br] Parâmetros nulos
Fabiano Arndt
fabianoallex em gmail.com
Qui Jul 20 16:43:27 -03 2006
Olá Kléber,
faz tempinho já que tentei fazer da mesma forma que no Oracle usando
os componetes IBQuery no Delphi e não funcionava direito muito bem
não, não lembro exatamente o que acontecia, aí criei esse segundo
parâmetro e ficou blz.
pra tirar a dúvida (e lembrar o que acontecia), assim que eu conseguir
vou fazer o teste novamente.
flw,
Fabiano.
Em 20/07/06, Kléber Caneva<kdcc em terra.com.br> escreveu:
> Não sei pq teve que criar esse segundo parametro..
>
> Veja nas mensagens de ontem, eu passei um exemplo onde usso exatamente como
> no seu exemplo do Oracle.
>
> []´s
>
> Kléber Caneva
>
> ----- Original Message -----
> From: "Fabiano Arndt" <fabianoallex em gmail.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Wednesday, July 19, 2006 5:57 PM
> Subject: Re: [firebase-br] Parâmetros nulos
>
>
> Precisei disso tbm, em Oracle é facinho, normalmente nossos select de
> relatórios e consultas tem esse formato no Oracle:
>
> SELECT
> [CAMPOS]
> FROM
> [TABLEAS]
> WHERE
> (:PARAM IS NULL
> OR
> CAMPO = :PARAM)
> AND
> (:PARAM2 IS NULL
> OR
> CAMPO = :PARAM2)
>
>
> no firebird tive que criar 2 parametros para cada opção, ficou mais ou
> menos assim
>
> SELECT
> [CAMPOS]
> FROM
> [TABLEAS]
> WHERE
> (:POR_PARAM = -1
> OR
> CAMPO = :PARAM)
> AND
> (:POR_PARAM_2 = -1
> OR
> CAMPO = :PARAM2)
>
> aí se o usuário deseja pelo primeiro parametro, passo 0 para POR_PARAM
> e o valor do parametro se ele deseja não filtrar pelo parametro, passo
> -1 para POR_PARAM
>
> espero que nao tenha ficado confusso
>
>
> flw,
> Fabiano.
>
>
> Em 18/07/06, "Fabrício F. Kammer"<ffkammer em conchalnet.com.br> escreveu:
> > Salve Galera!
> >
> > Alguém sabe alguma forma eficiente para testar se um parâmetro é nulo?
> > Tenho muitas consultas com parâmetros opcionais e preciso que o select
> > traga todos os registros caso o parâmetro não sejam informados.
> >
> > Em Oracle isso é o possível:
> >
> > WHERE CAMPO=:PARAM OR :PARAM IS NULL
> >
> > Já no FB não é possível esta solução. Testei o seguinte:
> >
> > WHERE CAMPO=:PARAM OR 0=:PARAM
> >
> > Porém dessa forma eu terei que passar um 0 (zero) na momento da execução
> > da consulta, caso isso seja esquecido a consulta não retornará nenhum
> > registro.
> >
> > []s
> >
> > --
> > Fabrício F. Kammer
> > 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
>
> E-mail classificado pelo Identificador de Spam Inteligente Terra.
> Para alterar a categoria classificada, visite
> http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=kdcc&_l=1,1153342753.411977.18494.aldavila.hst.terra.com.br,5303,Des15,Des15
>
> Esta mensagem foi verificada pelo E-mail Protegido Terra.
> Scan engine: McAfee VirusScan / Atualizado em 19/07/2006 / Versão:
> 4.4.00/4810
> Proteja o seu e-mail Terra: http://mail.terra.com.br/
>
>
>
>
>
> ______________________________________________
> 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