Eu to com um problema q é o seguinte eu tenho um combobox q carrega com uma coluno do meu banco, eu queria saber como eu faço para pegar a linha do combobox para preencher o item selecionado, tipo no Combobox trata a doença nele ja aparece para vc selecionar uma doença, eu queria saber como eu faço uma pesquisa apartir do intem selecionado no combobox, eu tentei o seguinte:
if(conecta()==1){try{Stringsql="select descricao from relatorio.tbrelatorio where doenca = '"+rel_doenca.getSelectedIndex()+"'";ResultSetres=null;res=canal.executeQuery(sql);}catch(Exceptione){System.out.println(e.getMessage());}}desconecta();
Mas ñ deu certo e tb ñ da nenhum erro, alguem sabe como eu posso fazer isso?
Para preencher o comobox eu usei o seguinte:
publicvoidpreencher(){if(conecta()==1){try{StringSQL="Select doenca from relatorio.tbrelatorio order by doenca";ResultSetres=null;res=canal.executeQuery(SQL);while(res.next()){rel_doenca.addItem(res.getString(1));}res.close();}catch(SQLExceptionexc){System.out.println(exc.getErrorCode());}// fim do try-catch }desconecta();}// fim do método preencher
Esse metodo acima o preenche funcionou certo ele traz o conteudo mas o pesquisa eu ñ consegui. Alguem pode me dar uma ajuda
Não funcionou porque você está pegando o índice do Elemento Selecionado. No caso ele retorna 1, 2…
Você deve usar getSelectedItem(), que retorna um objeto com o valor selecionado.
Quanto ao seu select, voce pode usar o PreparedStatement para evitar alguns problemas de segurança nos seus aplicativos e para deixar o código mais limpo:
Stringsql="select descricao from relatorio.tbrelatorio where doenca = ?"PreparedStatementpstmt=con.prepareStatement(sql);pstmt.setObject(rel_doenca.getSelectedItem());
Outra dica, o seu metodo conecta() retorna um inteiro e isso te força a fazer if(conecta() == 1). Seria melhor se ele retornasse um booleano, assim, voce faria
if(conecta())
A não ser que voce retorne não apenas 0 e 1, acho que dessa maneira fica mais legível.
Falou!
G
gardussi
Eu acabei explicando errado, no meu combobox eu trago tudo oq esta cadastrado no meu banco na coluna doenca, como eu faço para retorantar o referente dele a coluna descricao em um Jlistbox, tipo eu seleciono uma doença no meu combobox mando pesquisar e ela me tras q descrição dela toda? entendeu o q eu quero fazer.
Eu tentei fazer dessa maneira
try{Stringsql="select descricao from relatorio.tbrelatorio where doenca = '"+rel_doenca.getSelectedItem()+"'";ResultSetres=null;res=canal.executeQuery(sql);jlistbox.setToolTipText(res.getString(2));}catch(Exceptione){System.out.println(e.getMessage());}}