Ajuda java.lang.NullPointerException

3 respostas
A

Então pessoal quando tendo entrar com codigo e senha no site que estou criando 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;
}

}

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

3 Respostas

Zakim

antes de tudo…
ve se o jar do conector que vc vai utilizar esta na biblioteca do seu projeto…

pod ser que seja isso…

A

Zakim:
antes de tudo…
ve se o jar do conector que vc vai utilizar esta na biblioteca do seu projeto…

pod ser que seja isso…

Ola o driver de conexao esta na biblioteca.

G

A exceção é causada porque o objeto “st” (Statement), na linha 61, contém o valor null.
A origem do problema deve ser procurada a princípio na inicialização do objeto, realizada na linha 20.

try{ st = conexaoAtual.createStatement(); } catch (Exception e){ //linha 22 }
É importante observar que você mesmo evitou ser avisado de qualquer problema referente à inicialização, quando escolheu não tratar a exceção que pode ser lançada por ela (linha 22). Como um primeiro passo, sugiro que coloque um “e.printStackTrace();” na linha 22 e verifique se alguma exceção estava sendo lançada sem que você soubesse, durante a inicialização de “st”.

Criado 22 de julho de 2007
Ultima resposta 22 de jul. de 2007
Respostas 3
Participantes 3