Problemas java.lang.NullPointerException

1 resposta
A

Então pessoal quando tendo entrar com codigo e senha no site que estou desenvolvendo da esse erro

<blockquote>java.lang.NullPointerException

modelo.dao.AdministradoresDao.obtenhaAdministradores(AdministradoresDao.java:61)

controle.AdministradoresServlet.gerenciaLogin(AdministradoresServlet.java:91)

controle.AdministradoresServlet.doPost(AdministradoresServlet.java:24)

controle.ServletGenerico.doGet(ServletGenerico.java:17)

javax.servlet.http.HttpServlet.service(HttpServlet.java:690)

javax.servlet.http.HttpServlet.service(HttpServlet.java:803)</blockquote>

Meu codigo


package modelo.dao;

import generico.Conexao;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.Vector;

import modelo.entidades.AdministradoresDataSet;
public class AdministradoresDao {

private Conexao con;

private Statement st;

private Connection conexaoAtual;
public AdministradoresDao(){
	   con = new Conexao();
	   conexaoAtual = con.getConnection();
       try{
  	      st = conexaoAtual.createStatement();
	   } catch (Exception e){

	   }
   }
 public boolean insiraAdministradores(AdministradoresDataSet Administradores){
	   boolean resultado = false;
	   try{
		    conexaoAtual.setAutoCommit(false);
 	    	 st.executeUpdate("insert into pessoa (" +
   	    			"nome,fone,datanasc,rg,cpf,email,sexo,profissao,endereco,cidade)" +
   	    		" VALUES ('"+
   	    		Administradores.getNome() 			 +"','"+
   	    		Administradores.getFone() 			 +"','"+
   	    		Administradores.getDateNascStringMDA()+"','"+
   	    		Administradores.getRg() 				 +"','"+
   	    		Administradores.getCpf()  			 +"','"+
   	    		Administradores.getEmail() 			 +"','"+
   	    		Administradores.getSexo() 			 +"','Administradores','"+
   	    		Administradores.getEndereco() 		 +"','"+
   	    		Administradores.getCidade() 	  		 +"')"
   	    		);		
		     st.executeUpdate("insert into administradores " +
		     		"(id_pessoa,senha) " +
		     		"values ((select max(id_pessoa) from pessoa)," +
		     		Administradores.getSenha() + "')"
		     		);
		     conexaoAtual.commit();
			 conexaoAtual.rollback();
			 conexaoAtual.setAutoCommit(true);
			   resultado = true;
		   } catch (SQLException e){
			   resultado = false;
		   }
		   return resultado;
	   }
	   
	   public AdministradoresDataSet obtenhaAdministradores (int codigo) {
		   AdministradoresDataSet administradores = new AdministradoresDataSet();
	   	  
	   	  try{ 
	   		[color="darkred"]ResultSet rs = st.executeQuery("select * from pessoa inner join administradores on pessoa.id_pessoa = administradores.id_pessoa where administradores.id_pessoa = "+codigo);[/color] [color="darkblue"]//Linha 61[/color]
	   	    if (rs.next()){
	   	    	administradores.setIdPessoa(codigo);
	   	    	administradores.setNome(rs.getString("NOME"));
	   	    	administradores.setFone(rs.getString("FONE"));
	   	    	administradores.setDatanasc(rs.getDate("DATANASC"));
	   	    	administradores.setRg(rs.getString("RG"));
	   	    	administradores.setCpf(rs.getString("CPF"));
	   	    	administradores.setEmail(rs.getString("EMAIL"));
	   	    	administradores.setSexo(rs.getString("SEXO").charAt(0));
	   	    	administradores.setProfissao(rs.getString("PROFISSAO"));
	   	    	administradores.setEndereco(rs.getString("ENDERECO"));
	   	    		
	   	    	administradores.setSenha(rs.getString("SENHA"));
	   	    	
	   	    } else{
	   	    	administradores = null;
	   	    }
	   	  } catch (SQLException err){
	   		administradores = null;
	   	  }  
	   	  return administradores;
	   }

	   public Vector obtenhaAdministradores() {
		   Vector vMed = new Vector();
		   AdministradoresDataSet administradores;
		   	  
		   try{ 
		      ResultSet rs = st.executeQuery(
		    		  "select * from " +
		    		  "pessoa inner join administradores on " +
		    		  "      pessoa.id_pessoa = administradores.id_pessoa "
		    		  );
		      
		   	 while (rs.next()){
		   		administradores = new AdministradoresDataSet();
		   		
		   		administradores.setIdPessoa(rs.getInt("ID_PESSOA"));
		   		administradores.setNome(rs.getString("NOME"));
		   		administradores.setFone(rs.getString("FONE"));
		   		administradores.setDatanasc(rs.getDate("DATANASC"));
		   		administradores.setRg(rs.getString("RG"));
		   		administradores.setCpf(rs.getString("CPF"));
		   		administradores.setEmail(rs.getString("EMAIL"));
		   		administradores.setSexo(rs.getString("SEXO").charAt(0));
		   		administradores.setProfissao(rs.getString("PROFISSAO"));
		   		administradores.setEndereco(rs.getString("ENDERECO"));		
		   		administradores.setSenha(rs.getString("SENHA")); 
		   	    vMed.add(administradores);	
		   	 }
		   	 
		   } catch (SQLException err){
		      vMed = null;
		   }
		   
		 return vMed;
	   } 

	}</blockquote>

O resto do codigo esta aqui http://201.3.88.55/codigo/
Obrigado a quem puder ajudar

1 Resposta

C

Provavelmente na linha 61 o objeto PreparedStatement está nulo ou o ResultSet está nulo nesse passo, utilize o debug do eclipse, lembre-se que ele é o melhor amigo do programador. :joia:

Criado 21 de julho de 2007
Ultima resposta 22 de jul. de 2007
Respostas 1
Participantes 2