Pesquisa com textfield

4 respostas
A
Connection con=conexao.conecta();

PreparedStatement stm = con.prepareStatement(Select nome from animal where brinco=?”);

stm.setString(0, tfanimal.getText());

ResultSet rs = stm.executeQuery();

while(rs.next()){

// String animal = rs.getString(2);

if(tfanimal.getText().length()>0){

nomeAnimal.setText(rs.getString(2));

}else{

JOptionPane.showMessageDialog(null,“Brinco Inválido);

}

}

rs.close();

stm.close();

alguem sabe me dizer oq q tá errado? ele naum tá retornando o registro.

4 Respostas

robinsonbsilva

Jovem é quase certo que inicia do 1

stm.setString(1, tfanimal.getText()); 

//e na hora de pegar o resultSet

rs.getString(1);
ivo_costa

Talvez aqui:

rs.getString(1)

ao invés de

rs.getString(2)
ViniGodoy
  1. Formate seu post com a tag code. Se ainda não sabe fazer isso, clique aqui:
  2. Ao invés de getString(2) use getString(“nome”); Sempre trabalhe com os nomes dos campos ao invés dos índices. É mais claro, mais fácil de manter e menos sujeito a erros.
  3. Verifique se existe o brinco que vc está passando como parâmeto no JTextField. Preferencialmente, faça isso com o depurador, e veja se o getText() está retornando o brinco certo;
  4. Aproveitando que vc está no depurador, verifique se ele não está entrando no next e não é esse seu if que não está errado.
Linkel

ViniGodoy:
1. Formate seu post com a tag code. Se ainda não sabe fazer isso, clique aqui:
2. Ao invés de getString(2) use getString(“nome”); Sempre trabalhe com os nomes dos campos ao invés dos índices. É mais claro, mais fácil de manter e menos sujeito a erros.
3. Verifique se existe o brinco que vc está passando como parâmeto no JTextField. Preferencialmente, faça isso com o depurador, e veja se o getText() está retornando o brinco certo;
4. Aproveitando que vc está no depurador, verifique se ele não está entrando no next e não é esse seu if que não está errado.
Assino embaixo, se é que precisa, rsrsrsrsrsrs… Trabalhar com índices é mais difícil que com os devidos nomes, mas as vezes a gente faz isso por preguiça de ter que ficar digitando nomes e ainda entre aspas, rsrsrsr…

Criado 17 de julho de 2008
Ultima resposta 17 de jul. de 2008
Respostas 4
Participantes 5