[RESOLVIDO] Ajuda com postgreSQL e java

Esta acontecendo o seguinte erro

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at controle.ConectaBanco.executaSQL(ConectaBanco.java:34)
	at visao.FrmBairro.AtualizaCombo(FrmBairro.java:562)
	at visao.FrmBairro.<init>(FrmBairro.java:29)
	at visao.FrmBairro$15.run(FrmBairro.java:522)

Segue abaixo o codigo

public void AtualizaCombo(){
         jComboBoxCidade.removeAllItems();
         try {
             conn.executaSQL("select * from cidade order by nome_cidades");
             conn.rs.first();
             do {                 
                 jComboBoxCidade.addItem(conn.rs.getString("nome_cidades"));
             } while (conn.rs.next());
         } catch (SQLException ex) {
             JOptionPane.showMessageDialog(rootPane,"Error ao Preencher o comboBOX!\nERRO:");
         }
     }

O que tem nessa linha?


Tem algum dado na tbl cidade?

linha 34 stm = conn.createStatement(rs.TYPE_SCROLL_INSENSITIVE,rs.CONCUR_READ_ONLY);

tem dados na tbl cidade sim

mostra a classe de conexao

public class ConectaBanco {
    
    public Statement stm;//responsável por preparar e realizar pesquisa no banco de dados//
    public ResultSet rs; //responsável por armazenar o resultado de uma pesquisa passada para o STM//
    private String driver = "org.postgresql.Driver"; //responsável por indetificar o serviço do banco de dados//
    private String caminho = "jdbc:postgresql://localhost:5432/sistema";//responsável por setar o local do banco //
    private String usuario = "postgres";
    private String senha = "10074546";
    public Connection conn; //responsável pela conexao com banco de dados//
    
    public void conexao(){//metodo responsavel por realizar a conexao com o banco//
        
        System.setProperty("jdbc.Drivers", driver);
        try {
            conn=DriverManager.getConnection(caminho, usuario, senha);
            //JOptionPane.showMessageDialog(null,"conectado com sucesso!");//
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null,"erro de conexão!\n Erro:"+ex.getMessage());
            Logger.getLogger(ConectaBanco.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
   public void executaSQL(String sql){
        try {
                stm = conn.createStatement(rs.TYPE_SCROLL_INSENSITIVE,rs.CONCUR_READ_ONLY);
                rs = stm.executeQuery(sql);
                
            
        } catch (SQLException ex) {
               // JOptionPane.showMessageDialog(null,"Erro ao excluir! \n Erro>"+ex.getMessage());
            }        
    }
    public void desconecta(){//metodo para fechar a conexao com o banco de dados//
        
        try {
            conn.close();
            //JOptionPane.showMessageDialog(null,"desconetado com sucesso!");
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null,"erro ao fechar  conexão!\n Erro:"+ex.getMessage());
            
            
        }
        
    }
    
    
    
}

Creio que nao seja a classe de conexão, por que os outros formulários de cadastros estão funcionado normalmente

O conn.conexao() foi chamado antes disto?
De certeza que conn (Connection em ConectaBanco) está a null.

1 curtida

realmente falta o conn.conexao();
esta funcionado perfeitamente agora obrigado