[firebase-br] RES: RES: Array no firebird
Rafael Voltani
rafael.volts em turbocode.com.br
Qua Jan 25 15:14:30 -03 2012
Perfeito André...
Exatamente o que estava procurando...
Não conhecia esse método de CONTAINING...
Muito obrigado a todos pela atenção!!
[]s
Rafael Voltani
Firebird 2.5
Delphi 2010
-----Mensagem original-----
De: lista-bounces em firebase.com.br
[mailto:lista-bounces em firebase.com.br] Em nome de André Conrado
Enviada em: quarta-feira, 25 de janeiro de 2012 14:43
Para: FireBase
Assunto: Re: [firebase-br] RES: Array no firebird
Gente não é tão difícil assim o que nosso amigo precisa, faz assim que
dá certinho:
1 - Concatena os valores numa String: Ex.: :codigos = quotedstr('2F')
+ ',' + quotedstr('5D') + ',' + quotedstr('6R') + ',' +
quotedstr('8S');
e passa isso como parâmetro da sua query.
2 - Dentro da query você compara o campo da seguinte forma:
WHERE :PARAMETRO_RECEBIDO CONTAINING CODIGO
É simples, nada de array.
abçs.
2012/1/25 Felix - SOL Informática <felix em soltecnologia.com.br>:
> Não entendi a dificuldade, pois estou visualizando o seguinte:
>
> Cliente marca em um grid (?) os códigos:
> [X] 2F
> [X] 5D
> [X] 6R
>
> xcondicao := '';
> while not TabeladoGrid.Eof do
> if campo_ta_marcado then
> xcondicao := xcondicao +
> quotedstr(tabeladogrid.fieldbyname('codigo').asstring) + ', ';
> tabeladogrid.next;
> end;
> if xcondicao <> '' then
> Xcondicao := ' where codigo in (' +
> Copy(xcondicao,1,length(xcondicao)-2) +')';
>
> Query.sql.close;
> Query.sql.clear;
> Query.sql.add('select * from tabela'+xcondicao); Query.Open;
>
> Ou algo parecido. Não funcionaria ?
>
> Fco. Felix
> www.soltecnologia.com.br
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br
> [mailto:lista-bounces em firebase.com.br] Em nome de Hélio Oliveira
> Enviada em: quarta-feira, 25 de janeiro de 2012 12:09
> Para: lista em firebase.com.br
> Assunto: Re: [firebase-br] Array no firebird
>
> Boa tarde Rafael!
>
> A forma de você conseguir isto é através de uma SP onde você passa
os
> paramentros para mesma.
>
> Internamente na sua SP você monta a estrutura de sua consulta e faz
um
> execute statement.
>
>> Bom dia amigos
>>
>>
>>
>> Espero conseguir explicar minha duvida que é a seguinte:
>>
>> Quero trazer na consulta todos os cadastro que possuam determinados
>> códigos,
>>
>> Ex: 2F,5D,6R e 8S somente
>>
>>
>>
>> Até aí beleza,
>>
>> WHERE CODIGO IN ('2F','5D','6R','8S')
>>
>>
>>
>> Mas a dificuldade está que preciso que receba os valores que o
>> usuário scolher, É uma consulta personalizável, a qual o usuário
>> escolhe na tela quais códigos ele quer.
>>
>>
>>
>> Tentei com parâmetro
>>
>> WHERE CODIGO IN (:CODIGOS)
>>
>>
>>
>> Mas nada feito, firebird aceita apenas um valor por vez.
>>
>> Procurei por array no firebird, mas o que encontrei até agora não
>> consegui entender direito.
>>
>>
>>
>> Gostaria de saber se alguém já montou algo parecido, ou se tem
alguma
>> ideia de como solucionar esse caso.
>>
>>
>>
>> Agradeço desde já a atenção.
>>
>>
>>
>> []s
>>
>>
>>
>> Rafael Voltani
>>
>> Firebird 2.5
>>
>> Delphi 2010
>>
>>
>>
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>
>
> --
> []'s,
>
> Hélio Oliveira
> Bel. Ciência da Computação
> Técnico em Contabilidade
> e-mail : hpensador em gmail.com
> Skype : hpensador
> http://hpensador.blogspot.com/
> www.hpensador.net
> (71) 9975-9176
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista