não loc. dados java.sql.SQLException:[Microsolft][ODBC Driver Manager]Estado de cursor inválido

4 respostas
B
Fala galera do forum to eu aqui de novo.rs

o meu botão alterar esta funcionado normalmente,  que após a confirmação da alteração com sucesso. me aparece:

“”[color=red]não localizou dados java.sql.SQLException:[Microsolft][ODBC Driver Manager]Estado de cursor inválido[/color]""

[    try

{

String sql = UPDATE cadastro SET Nome = '”        +tf_nome.getText()+"’,"+

“DataNascimento = ' +tf_nascto.getText()+"’,"+

" Idade =’"          +tf_idade.getText()+"’,"+

" Email =’"          +tf_email.getText()+"’,"+

" Rua =’"            +tf_rua.getText()+"’,"+

" Numero =’"         +tf_numero.getText()+"’,"+

Complemento =’”     +tf_complemento.getText()+"’,"+

" Bairro = ‘"         +tf_bairro.getText()+"’,"+

" Cidade =’"          +tf_cidade.getText()+"’,"+

" Cep =’"             +tf_cep.getText()+"’,"+

" DDD =’"             +tf_ddd.getText()+"’,"+

" TelResidencial =’"  +tf_telefone.getText()+"’,"+

" DDDcel = ‘"         +tf_dddcel.getText()+"’,"+

" TelCelular =’"      +tf_celular.getText()+"’,"+

// 'where codigo = "  +tf_codigo.getText()+”’,"+

“UF=’”                 +cb_uf.getSelectedItem()+"'where codigo = "+tf_codigo.getText();
con_cadastro.statement.executeUpdate(sql);
   JOptionPane.showMessageDialog(null, "Alteração realizado com sucesso!");
  //Atualiza o result set
   con_cadastro.executeSQL("select * from cadastro");
   atualiza_combo_box_cadastro(); 
   con_cadastro.resultset.next();
   mostrar_dados();
}
catch (SQLException erro)
{
  JOptionPane.showMessageDialog(null, "Erro a tentar Alterar o registro..." + erro);
}
}                                             ]

se alguem pucer me ajudar ok muito obrigado.Edirlei

4 Respostas

Anime

imprima o StackTrace…

catch(SQLException erro) {  
        JOptionPane.showMessageDialog(null,"Erro,ao listar");  
       erro.printStackTrace(); //isso vai imprimir a pilha de exceções no console, indicando, dentre outras informacoes, a linha que deu problema.  
    }
A

Olá bae2005, acho que o erro é pq você está usando o mesmo Statement para update e select, comente as linhas abaixo de [color=red]con_cadastro.executeSQL(“select * from cadastro”); [/color] e faça o teste, se for isso crie um outro para sua consulta.

con_cadastro.statement.executeUpdate(sql);
JOptionPane.showMessageDialog(null, "Alteração realizado com sucesso!");
//Atualiza o result set
con_cadastro.executeSQL("select * from cadastro");

Um segundo detalhe, você sempre deve fechar o ResultSet, Statement e Connection, segue um exemplo abaixo:

try{
    //Instrução
}catch(Exception e){
    //Tratamento de erro
    e.printStackTrace();//Para você poder verificar o erro e corrigir
}finally{
    //Essa parte sempre será executada, mesmo que ocorra uma exceção.
    //antes de tentar fechar a conexão verifique se os objetos são nulos
    if(rs != null){
        rs.close();
    }
    if(statement != null){
        statement.close();
    }
    if(con != null){
        con.close();
    }
}
B

olá Alberes, em primeiro lugar obrigado pela atenção eu estou começando com java faz 2 semanas ainda to gatinhando, mas eu chego lá, vou verificar o que vc me disse e depois comento aqui ok até mais.abraços Edirlei(BAE)

B

Obrigado ANIME pelo seu comentario, nos falamos depois abraços.Edirlei(BAE)

Criado 23 de março de 2011
Ultima resposta 23 de mar. de 2011
Respostas 4
Participantes 3