Pessoal to precisando de ajuda na seguinte situação:
eu tenho uma lista com seleção multipla, eu preciso pegar os codigos que o usuario selecionar e passar ela como um SELECT para a geração de uma tabela (JTable) como resposta. Eu consigo pegar os codigos com os indices model.getElementAt(index), o meu problema é como monta a linha do select dinamicamente assin:
“Select * from tabela where codigo=’”+model.getElementAt(index)+"’ and codigo= ‘"+model.getElementAt(index)+"’ " e assim por diante.
Sera que alguem pode me ajudar, ja tentei de tudo!!!
vc já viu se o resultado desta concatenação está correto??? Como vc cria a conexão com o Banco??? Usa algum ResultSet com Statment para a execução da query ???
D
dokPJ
Antes de qualquer coisa, se você continuar utilizando o AND nesta sua consulta, você jamais conseguirá obter um resultado, pois, se código é campo chave primária, utilizando AND todas as condições tem que ser verdadeiras. Para inicio de conversa é interessante você trocar o AND por OR.
D
dokPJ
Lembrando que você pode utilizar tua SQL da seguinte forma:
SELECT * FROM tabela WHERE codigo IN (1, 2, 5, 8)
Neste caso, será retornado todas as tuplas com o código 1, 2, 5 e 8.
:joia:
R
rappha1PJ
Obrigado pelas respostas. Eu tentei com “and” e nao funcionou, ai eu estava usando o “or”.
Nao tinha pensado no in, era isso que eu precisava, agora ficou outra duvida como passar isso que esta em uma variavel com indices (vetor) para o mysql pois o java converter o “model.getElementAt(index)”, nos codigos q eu preciso exemplo
uma variavel String com o texto select * from tabela where codigo in(1,2,3,4) pois eu teria q pegar codigo por codigo e eu nao sei colocar o codigo da lista neste formato se puderem me ajudar nisso novamente eu agradeço
VALEU PESSOAL!!!
F
fer_scaliaPJ
Nao sei se entendi bem a questao de "selecao multipla"mas se a sua lista de selecao multipla for feita de checkBoxes vc pode fazer ifs do tipo:
if(checkBox1 for selecionado)
sql = sql + “valor do primeiro”;
e assim por diante em todos os checkBoxes, pois nao se sabe quantos o usuario vai selecionar.
Se for de radiobuttons, vc pode fazer daquele jeito citado ai em cima:“where codigo in(1,2,3,n)”, pois sempre existirao n valores que vao ser substituidos.