Array no firebird
Bom dia amigos
Espero conseguir explicar minha duvida que é a seguinte:
Quero trazer na consulta todos os cadastro que possuam determinados códigos:
Ex: 2, 4, 15, 56 e 57 somente. (integer)
Até aí beleza,
WHERE CODIGO IN (2, 4, 15, 56, 57)
Mas a dificuldade está que preciso que receba os valores que o usuário escolher. É 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
Espero conseguir explicar minha duvida que é a seguinte:
Quero trazer na consulta todos os cadastro que possuam determinados códigos:
Ex: 2, 4, 15, 56 e 57 somente. (integer)
Até aí beleza,
WHERE CODIGO IN (2, 4, 15, 56, 57)
Mas a dificuldade está que preciso que receba os valores que o usuário escolher. É 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
Silvio Morelo
Curtidas 0
Respostas
Eduardo Silva.
26/02/2014
Uma alternativa seria usar o Format:
Format('SELECT * FROM SUA_TABELA WHERE CODIGO IN (%s, %s, %s, %s, %s)',
[Edit1.Text, Edit2.Text, Edit3.Text, Edit4.Text, Edit5.Text]);
Lembrando que %s é String, %d é inteiro
abs
Eduardo Belo
Format('SELECT * FROM SUA_TABELA WHERE CODIGO IN (%s, %s, %s, %s, %s)',
[Edit1.Text, Edit2.Text, Edit3.Text, Edit4.Text, Edit5.Text]);
Lembrando que %s é String, %d é inteiro
abs
Eduardo Belo
GOSTEI 0
Marisiana Battistella
26/02/2014
Morelo, conseguistes encontrar uma solução?
O exemplo que o Eduardo passou, te ajudou?
O exemplo que o Eduardo passou, te ajudou?
GOSTEI 0
Thiago Santana
26/02/2014
Acho que seria mais interessante criar um função recebendo como parametro uma string com caracteres especiais para separar a sua lista de código!
Por exemplo : 1#9#3#8
E dentro da função você poderia separar esses código e motar a sua clausula IN
Por exemplo : 1#9#3#8
E dentro da função você poderia separar esses código e motar a sua clausula IN
GOSTEI 0