Tratamento de erro em consulta

7 respostas
L

estou criando uma aplicação que faz consulta no banco de dados apartir da informação da chave primária pelo usuário. gostaria de colocar um tratamento de erro para quando usuário informar a chave de um registro inexistente na tabela, ao invés de dá erro de conexão do jdbc, seja informado que o registro não existe. já tentei de várias formas mas ñ consegui. alguém pode me ajudar? o código que fizé esse abaixo, mas ñ está funcionando corretamente. :?: try {

String sql = "select * from pessoa where Cod="+txtChave.getText();
ResultSet rs = Banco1.getConexao().executeQuery(sql);

rs.next();//Posiciona o cursor no próximo registro

lblExibeNome.setText (  rs.getString(Nome));

lblExibeTel.setText(rs.getString(Telefone));

if(rs.next()) {//Aqui que estou querendo fazer esse tratamento!!!

lblExibeNome.setText(rs.getString(Nome));

lblExibeTel.setText(rs.getString(Telefone));

}
else{
         lblExibeNome.setText(rs.getString(null));
         lblExibeTel.setText(rs.getString(null));
      }

    } catch (SQLException ex) {//tratamento de erro
        Logger.getLogger(Delete.class.getName()).log(Level.SEVERE, null, ex);
    }
}

A mensagem é Esta: java.sql.SQLException: [Microsoft][ODBC Driver Manager] Estado de cursor inválido :?:

7 Respostas

Vini_Fernandes

Coloque a mensagem de erro pra estudarmos melhor!!!

L

A mensagem é Esta: java.sql.SQLException: [Microsoft][ODBC Driver Manager] Estado de cursor inválido

L

E aí Vini? pode me ajudar?
a mensagem é esta: java.sql.SQLException: [Microsoft][ODBC Driver Manager] Estado de cursor inválido

Paezani

Vc pode usar um try/catch simples que vai pegar qualquer erro, em vez de SQLException, apenas Exception.

try
{

String sql = "select * from pessoa where Cod="+txtChave.getText(); 
ResultSet rs = Banco1.getConexao().executeQuery(sql); 

 if(rs.first()) 
 {//Aqui que estou querendo fazer esse tratamento!!! 
  lblExibeNome.setText(rs.getString("Nome")); 
  lblExibeTel.setText(rs.getString("Telefone")); 
 } 

 else
 { 
  lblExibeNome.setText(rs.getString(null)); 
  lblExibeTel.setText(rs.getString(null)); 
 } 

} 
 catch (Exception ex) 
{//tratamento de erro 
Logger.getLogger(Delete.class.getName()).log(Level.SEVERE, null, ex); 
ex.getMessage();
} 

}
Paezani

ou trocar:

ex.getMessage(); por uma mensagem JOptionPane…“Nenhum registro oi encontrado!”

Vejase era isso

[]s

L

Paezani:
ou trocar:

ex.getMessage(); por uma mensagem JOptionPane…“Nenhum registro oi encontrado!”

Vejase era isso

[]s

Foi isso mesmo Paezani. Troquei pela mensagem JOptionPane e funcionou exatamente do jeito que eu queria. Muito Obrigada! :slight_smile: :idea:

L

Ainda está estudando o erro? Já consegui resolver o problema.
Obrigada!

Criado 13 de junho de 2009
Ultima resposta 13 de jun. de 2009
Respostas 7
Participantes 3