Ajuda para fazer uma consulta no mysql dinamica!

5 respostas
R

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!!!

Valeu

5 Respostas

F

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

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

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

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

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.

ajudei??

Criado 13 de junho de 2005
Ultima resposta 15 de jun. de 2005
Respostas 5
Participantes 4