Boa noite,
Não sei se me expressei bem no título do tópico.
Mas vamos ao problema em questão,
Tenho um VIEW que tem como único objetivo alterar 1 única coluna de uma tabela.
- Eu seleciono na tabela já carregada do banco de dados 1 das linhas em questão.
- A linha carrega as informações nos JTEXTFIELDS.
- Clico no botão salvar e ele deveria pegar apenas a informação final que constar no JCOMBOBOX e com isso gerar um UPDATE em uma tabela.
O problema está que acusa nullpointerexception e não consigo entender o porque.
Código:
- BOTÃO SALVAR
private void jButtonSalvarActionPerformed(java.awt.event.ActionEvent evt) {
//CHAMA METODO ALTERA PERMISSAO
controller.alteraPermissao();
}
- CONTROLLER alteraPermissao()
public void alteraPermissao(){
String id_usuario = view.getjTextFieldID().getText();
Object cod_permissao = view.getjComboBoxPermissao().getSelectedIndex();
Usuario alterausuario;
alterausuario = new Usuario(id_usuario, cod_permissao.toString());
try{
Connection conexao;
conexao = new Conexao().getConnection();
UsuarioDAO usuarioDao = new UsuarioDAO(conexao);
usuarioDao.updatePermissao(alterausuario);
JOptionPane.showMessageDialog(null, "Permissão alterada com sucesso!");
} catch (SQLException ex) {
Logger.getLogger(FormCadastroView.class.getName()).log(Level.SEVERE, null, ex);
}
}
- DAO updatePermissao
//MÉTODO PARA ATUALIZAR/ALTERAR PERMISSAO
public void updatePermissao(Usuario usuario) throws SQLException {
String sql = "update usuario"
+ "set cod_permissao = ?"
+ "where id_usuario = ?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1, usuario.getCod_permissao());
statement.setInt(2, usuario.getId_usuario());
statement.execute();
connection.close();
}
O sistema acusa erro direto na linha
"statement.setInt(1, usuario.getCod_permissao());"
Que fica no DAO
- MODELO - CONSTRUTOR
//USADO PARA ALTERAR PERMISSAO
public Usuario(int id_usuario, Object cod_permissao){
this.id_usuario = id_usuario;
this.cod_permissao = (Integer) cod_permissao;