ResultSet e NullPointerException

4 respostas
B
public void getRow(String fonte){
        try {
            getConnection();
            rs=stm.executeQuery("select * from rubrica_receita where rr_fonte='"+fonte+"'");
            while(rs.next()){
            rr.setRr_num(rs.getString("rr_num")); // linha 41
            rr.setRr_tipo(rs.getString("rr_tipo"));
            rr.setRr_nome(rs.getString("rr_nome"));
            rr.setRr_fonte(rs.getString("rr_fonte"));
            rr_list.add(rr);
          }
        }catch (SQLException ex) {
             Logger.getLogger(Fontes.class.getName()).log(Level.SEVERE, null, ex);       
        }finally{
            endOfConnection();
        }
        
    
    }

A Exception que ocorre é :
Exception in thread "main" java.lang.NullPointerException
at Fontes.getRow(Fontes.java:41)
at Rr_Lista.(Rr_Lista.java:39)
at Principal.main(Principal.java:12)
Java Result: 1

- Obs: Tem elementos no BD com a fonte que eu passo por parâmetro.

rr_list é uma List do tipo Rubrica_Receita
rr é um elemento Rubrica_Receita

getConnection :

private void getConnection(){
            try {
                conn = (Connection) DriverManager.getConnection(DATABASE_URL, USERNAME, PASSWORD);
                stm = (Statement) conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
                System.out.println("Conectado");
         }catch(SQLException ex){
                Logger.getLogger(Fontes.class.getName()).log(Level.SEVERE, null, ex);
         }
    }
endOfConnection :
private void endOfConnection() {
         try {
            rs.close();
            stm.close();
            conn.close();
            
            
        } catch (SQLException ex) {
            Logger.getLogger(Fontes.class.getName()).log(Level.SEVERE, null, ex);
        }finally{
             System.out.println("Desconectado");
         }
        
    }

Alguém pode me ajudar?

Obrigado pela atenção !

4 Respostas

Rodrigo_Sasaki

sua variável rr está inicializada?

E
while(rs.next()){  
            rr.setRr_num(rs.getString("rr_num")); // linha 41

Não deveria ser algo como

while(rs.next()){  
                rr = new Rubrica_Receita(__________); // sei  quais são os parâmetros necessários no construtor :)
                rr.setRr_num(rs.getString("rr_num"));
B

digaoneves, isso mesmo. Eu não tinha inicializado.

Obrigado pela ajuda.

JuniorMaia

cuida com a sinstâncias dos objetos ;x

Criado 5 de junho de 2012
Ultima resposta 5 de jun. de 2012
Respostas 4
Participantes 4