Prezados boa noite,
Estou com uma Exceção na miha aplicação de NullPointerException, já verifiquei de todas as maneiras possíveis mas não consegui resolver este problema, daí então vim recorrer a meus experiêntes colegas.
Bem, quando aciono o botão que chama a ação de persistência no banco, o problema ocorre. Por favor se alguém puder me ajudar, agradeço desde já.
Segue abaixo, o trecho do meu código onde é lançada a exceção.
Então parece que devo ter errado e provavelmente o que está a null é con_cad.statement
FelipeWM
BomdiapmnleJakeFrog.Oqueachoestranhoéquemeuobjetocon_cadestáinstanciadonaclasse,comoestouamostrar-lhesnestetrecho:publicTelaCadAluno(){/*** Construtor com método de inicialização dos objetos*/con_cad=newConexao();con_cad.conecta();initComponents();
}
Vocês teriam alguma dica do que eu posso fazer?
Abraço.
drsmachado
Usar a tag [code] não é do teu feitio, certo?
FelipeWM
Desculpe, ñ havia me atentado deste detalhe
public TelaCadAluno(){
/**
* Construtor com método de inicialização dos objetos
*/
con_cad = new Conexao();
con_cad.conecta();
initComponents();
}
FelipeWM
Bom dia,
Vocês teriam alguma dica do que eu possa fazer referente a este erro?
Abraço.
pmlm
E onde é inicializado este statement?
FelipeWM
Bom dia pmln,
Esse statment é inicializado na classe de Conexão.
Segue a classe abaixo:
packageview;importjava.sql.*;importjavax.swing.*;publicclassConexao{finalprivateStringdriver="com.mysql.jdbc.Driver";finalprivateStringurl="jdbc:mysql://localhost/sysaluno";finalprivateStringusuario="root";finalprivateStringsenha="felipe01";privateConnectionconexao;publicStatementstatement;publicResultSetresultset;publicbooleanconecta(){booleanresult=true;try{Class.forName(driver);conexao=DriverManager.getConnection(url,usuario,senha);// JOptionPane.showMessageDialog(null, "Conectou");}catch(ClassNotFoundExceptionDriver){JOptionPane.showMessageDialog(null,"Driver não encontrado"+Driver);result=false;}catch(SQLExceptionFonte){JOptionPane.showMessageDialog(null,"Deu erro na conexão\n"+"com a fonte de dados\n "+Fonte);result=false;}returnresult;}publicvoiddesconecta(){@SuppressWarnings("unused")booleanresult=true;try{conexao.close();//JOptionPane.showMessageDialog(null, "Banco de dados fechado");}catch(SQLExceptionErroSQL){JOptionPane.showMessageDialog(null,"Não foi possível"+"fechar a conexão com o banco de dados"+ErroSQL.getMessage());result=false;}}publicvoidexecuteSQL(Stringsql){try{statement=conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);resultset=statement.executeQuery(sql);}catch(SQLExceptionSQLe){JOptionPane.showMessageDialog(null,SQLe.getMessage());}}}
pmlm
É inicializada se chamares o método executeSQL.
No teu caso estas a aceder directamente ao statement, que está a null.
FelipeWM
Boa tarde a pmln,
Consegui resolver o problema, fiz o debug do programa, e verifiquei que o objeto con_cad, não estava sendo populado com os valores do resultset e do statement no momento em que ele era inicializado, então fiz uma query no banco e “populou” o statment e o resultset com seus valores padrões. Agradeço pela disposição em ajudar.
Obrigado a todos.