[firebase-br] Parâmetros nulos
"Fabrício F. Kammer"
ffkammer em conchalnet.com.br
Ter Jul 18 17:58:07 -03 2006
O problema eh o meu software nao conhece o SQL no momento da
compilacao... o sql e os parâmetros estão armazenados diretamente no
arquivo de configuração dos relatórios, entendeu?
Em meu sistema irei abrir um arquivo externo (do report manager),
recuperar a lista de parâmetros, exibir um forma para o usuário
preencher os parâmetros e, depois disso, visualizar o report.
[]s
Fabrício
Magnun Oliveira escreveu:
> eu ainda acho q dah pra fazer no sql.
>
> eu fiz isso. eh até meio simples. um exemplo:
>
> coloca um checklistbox e alimenta ele com as tabelas.
> coloca outro e alimenta esse com os campos das tabela selecionadas.
>
> faz uma rotina pra gerar o inicio do sql baseado nas tabelas e campos
> selecionados.
>
>
> coloca um combo com operadores diversos, ex : like, not like, =, <>, >, <,
> >=, <=, etc ...
> coloca um edit para o valor a ser buscado
> coloca um outro combo com os campos da tabela pra fazer o order by
>
> aih vc coloca um speedbutton e no on clique vc testa os combos e adiciona
> aquela sql padrao q todo mundo conhece.
>
> and ' + cmb_Campo + ' ' cmb_Operador + ' ' + edt_VALOR '
>
> aih a cada clique vc adiciona um filtro diferente e depois antes de executar
> a SQL vc passa:
>
> ' order by ' + cmb_Ordem
>
> agora eh soh vc pensar um pouco e adaptar a sua necessidade, ou seja joins
> neh?
>
> eu nao tenho nada pronto com joins + se eu tiver um pouco de tempo amanha
> vou ver se faço.
>
>> From: "Fabrício F. Kammer"<ffkammer em conchalnet.com.br>
>> Reply-To: FireBase <lista em firebase.com.br>
>> To: FireBase <lista em firebase.com.br>
>> Subject: Re: [firebase-br] Parâmetros nulos
>> Date: Tue, 18 Jul 2006 17:00:48 -0300
>>
>> Yep! a idéia é boa mesmo, mas, sem querer ser chato, não resolve muito
>> meu problema... pois como eu disse, estou trabalhando nisso para um
>> gerador de relatórios personalizados, onde o meu cliente irá criar os
>> relatórios dentro do próprio sistema... ele deverá utilizar qq tabela do
>> sistema, não posso deixá-lo preso a stored procedures
>>
>> []s
>>
>> Fabrício
>>
>> Kléber Caneva escreveu:
>>> Fiz um teste simples e funcionou:
>>>
>>> CREATE PROCEDURE SP_TESTE (
>>> KPRODUTO INTEGER)
>>> RETURNS (
>>> CODIGO CHAR(12),
>>> NOME VARCHAR(80))
>>> AS
>>> begin
>>> For
>>> Select CODIGO, NOME
>>> From PRODUTO
>>> Where (:KPRODUTO is null) or (KPRODUTO = :KPRODUTO)
>>> Into :CODIGO, :NOME
>>> do
>>> suspend;
>>> end^
>>>
>>> Se eu chamo
>>> Select * From SP_TESTE( 155 )
>>> ele me retorna um unico produto, se eu chamo
>>> Select * From SP_TESTE( null )
>>> ele me retorna todos os produto..
>>>
>>> []´s
>>>
>>> Kléber Caneva
>>>
>>>
>>>
>>>
>>> ----- Original Message -----
>>> From: ""Fabrício F. Kammer"" <ffkammer em conchalnet.com.br>
>>> To: "FireBase" <lista em firebase.com.br>
>>> Sent: Tuesday, July 18, 2006 3:08 PM
>>> Subject: Re: [firebase-br] Parâmetros nulos
>>>
>>>
>>> Boa tarde Kléber,
>>>
>>> O problema não é a ordem dos parâmetros, mas sim que o FB não permite a
>>> comparação:
>>>
>>> :PARAM IS NULL
>>>
>>> []s
>>>
>>> Fabrício
>>>
>>> Kléber Caneva escreveu:
>>>> Amigo, acredito que como você está usando o OR se você inverter a
>>>> condição
>>>> ele irá funcionar...
>>>>
>>>> WHERE (:PARAM IS NULL) OR (CAMPO=:PARAM)
>>>>
>>>> Isso se justifica, pois o interpretador ao considerar a 1º condição
>> como
>>>> verdadeira, ele não irá validar a 2º, pois o Where já satisfaz a
>>>> condição...
>>>>
>>>> []´s
>>>>
>>>> Kléber Caneva
>>>>
>>>> ----- Original Message -----
>>>> From: ""Fabrício F. Kammer"" <ffkammer em conchalnet.com.br>
>>>> To: <lista em firebase.com.br>
>>>> Sent: Tuesday, July 18, 2006 9:38 AM
>>>> Subject: [firebase-br] Parâmetros nulos
>>>>
>>>>
>>>> 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
>> 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
>
> _________________________________________________________________
> MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.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
--
Fabrício F. Kammer
19 3866-1927
ConchalNet
Conchal/SP
Mais detalhes sobre a lista de discussão lista