É esta mensagem que dá, depois que tentei inserir um dado do tipo Data?
Java.lang.NullPointerException
31 Respostas
Kra,
Manda o teu código para o forum, se fica dificil de te orientar, este tipo de execção é porque o teu objeto não recebeu valor algum, ou seja, está nulo.
Atenciosamente,
Paulo
java.lang.NullPointerException significa q vc estah apontando para um objeto que não existe, ou o caminho estah incorreto.
java.lang.NullPointerException significa q vc estah apontando para um objeto que não existe, ou o caminho estah incorreto.Quando você tenta chamar um método de uma variavel de referencia que está setada como nula (variavel = null;).
Exemplo:
String nome = null;
nome.toString(); // <=== Aqui dá NullPointerException!!
Estou utilizando preparedStatement. Utilizei setDate, setObject, mas o resultado é nulo!!!
String value = ftfDataNasc.getText(); //campo formatado ("##/##/####)
Date dateNasce = new SimpleDateFormat("dd/mm/yyyy").parse(value);
....
prepara.setObject(3, new Date (dateNasce.getTime()));
todo programador merece um puxao de orelha pra cada NullPointerException lancado. :twisted:
Minha orelha começou a sangrar…
Kra,Valor algum é diferente de ser nulo!Manda o teu código para o forum, se fica dificil de te orientar, este tipo de execção é porque o teu objeto não recebeu valor algum, ou seja, está nulo.
Atenciosamente,
Paulo
public void metodo(){
String nome;
String sobrenome = null;
System.out.println("Sobrenome:" + sobrenome); // Funciona!
System.out.println("Nome:" + nome); // Erro de compilação. A variavel não foi inicializada!!
}
manda ai a descrição da exception!
Estou utilizando preparedStatement. Utilizei setDate, setObject, mas o resultado é nulo!!!Olha o case sensitive!!String value = ftfDataNasc.getText(); //campo formatado ("##/##/####) Date dateNasce = new SimpleDateFormat("dd/mm/yyyy").parse(value); .... prepara.setObject(3, new Date (dateNasce.getTime()));
Date dateNasce = new SimpleDateFormat("dd/MM/yyyy").parse(value);
try{
String value = ftfDataNasc.getText();
Date dateNasce = new SimpleDateFormat("dd/mm/yyyy").parse(value);
//txtRes.setText ("");
PreparedStatement prepara = con.prepareStatement ("insert into aluno (ra, nome, datatual) values (?, ?,?);");
prepara.setString(1, txtRa.getText());
prepara.setString(2, txtNome.getText());
prepara.setObject(3, new Date (dateNasce.getTime()));
prepara.executeUpdate();
txtRes.setText("Cadastro Efetuado");
txtRa.setText("");
txtNome.setText("");
}
catch (SQLException ex)
{
System.out.println (ex);
}
catch (Exception exc) {System.out.println (exc);}
java.lang.NullPointerException significa q vc estah apontando para um objeto que não existe, ou o caminho estah incorreto.Quando você tenta chamar um método de uma variavel de referencia que está setada como nula (variavel = null;).
Exemplo:
String nome = null; nome.toString(); // <=== Aqui dá NullPointerException!!
Material oficial da Sun
Traduzindo :
Thrown quando a aplicação tenta acessar um um objeto que estaha referenciado como null. Iso pode incluir:
- Chamando a instancia do metodo de num objeto null.
- Acessando ou modificando um campo de um objeto null.
- Requerendo o tamamho de um valor null que estah num array.
- Acessando ou modificando o índice que estah nulll de um array.
- Enviando nulo como tem um valor que pode dar erro(Throwable value)
Deu certo aqui, eu apenas apaguei uma declaração desnecssária
public class…
JTextField ftfDataNasc;
public …(){
JTextField ftfDataNasc = new… //eu apenas exclui esta declaracao TextField!!
}
valeu pessoal! Achei o nullpoint!!
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Not writable: /home/abrhpb/public_html/anexos/noticia/
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.IllegalArgumentException: Not writable: /home/abrhpb/public_html/anexos/noticia/
com.oreilly.servlet.MultipartRequest.(MultipartRequest.java:218)
com.oreilly.servlet.MultipartRequest.(MultipartRequest.java:109)
org.apache.jsp.gerenciador.upload.add_005ffoto_jsp._jspService(org.apache.jsp.gerenciador.upload.add_005ffoto_jsp:87)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.
e no código ao adicionar ta assim
//colunista.setDescricao(getParametro(“texto”, null));
e quando vai recuperar que é quando da o erro ta assim
//<%=colunista.getDescricao()%>
[color=darkred]Oi pessoal…
Bom…eu estou montando um projeto em Java, utilizando o Jcreator
Estou fazendo conexão com o Banco de dados, porém ao executar o programa e clicar no botão para gravar o registro no banco, no prompt aparecem várias instruções, e a primeira delas é essa:
java.lang.nullpointerexception
mas ainda existem umas 20 linhas com diversos “erros”
não sei o que fazer para resolver o problema, pois já revisei o programa várias vezes, e não acho o erro!
Quem puder ajudar…ficaria imensamente grata

Segue o código do programa:
[/color]
[color=black]
import java.sql.<em>;
import javax.swing.</em>;
import java.awt.<em>;
import java.awt.event.</em>;
public class buscanome extends JFrame implements ActionListener
{
JLabel L1,L2;
JButton btpesquisar, btcancelar;
static JTextField tfNome;
String nome;
JPanel painel1 = new JPanel();
ResultSet rs;
Statement MeuState;
Connection MinhaConexao;
boolean status;
public static void main(String args[])
{
JFrame Janela = new buscanome();
Janela.show();
WindowListener x = new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
};
Janela.addWindowListener(x);
}
buscanome()
{
painel1.setLayout(new FlowLayout(FlowLayout.LEFT));
L1 = new JLabel("Você selecionou a opção de identificação por nome.Por Favor: ");
L2 = new JLabel(“Digite o nome para pesquisar.”);
tfNome = new JTextField(50);
nome = tfNome.getText();
btpesquisar=new JButton(“Pesquisar”);
btcancelar=new JButton(“Cancelar Operação”);
btpesquisar.setBackground();new Color(180,180,250)
btcancelar.setBackground();new Color(180,180,250)
btpesquisar.addActionListener(this);
btcancelar.addActionListener(this);
painel1.add(L1); painel1.add(tfNome);
painel1.add(L2);
painel1.add(btpesquisar); painel1.add(btcancelar);
getContentPane().add(painel1);
setTitle(“Busca por Nome”);
setSize(600,140);
setResizable(false);
String url = “jdbc:odbc:MeuBanco”;
try
{
Class.forName( “sun.jdbc.odbc.JdbcOdbcDriver” );
MinhaConexao = DriverManager.getConnection(url);
}
catch(ClassNotFoundException erro)
{
System.out.println(“Driver JDBC-ODBC nao encontrado!”);
return;
}
catch(SQLException erro)
{
System.out.println(“Problema na Conexao com fonte de dados”);
return;
}}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==btpesquisar)
{
try
{
//MeuState = MinhaConexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
String sql = "select * nome from Pacientes where nome = '" + nome + "'";
tfNome.getText();
rs = MeuState.executeQuery(sql);
rs.next();
nome = rs.getString("nome");
String sql2="Insert into Resultado(resulnome) Values (sql)";
MeuState.executeUpdate(sql2);
JOptionPane.showMessageDialog(null, "Gravação Realizada com sucesso!");
}
catch(SQLException erro) { }
}} }
[/color]
public void insereProduto(Produto pr){
ResultSet rs=null;//OBJETO QUE RETORNA TODOS OS DADOS e como se fosse uma tabela na minah classe java
String sql=“insert into produto(nome,fornecedor,preco,qtde) values (?,?,?,?)”;
Connection cnx;//Cria um objeto com todos os dados para conexao
try{
Class.forName(“com.mysql.jdbc.Driver”);//passa a string de qual banco de dados sera usado
//ABRE A CONXAO COM O BANCO DE DADOS COM A VARIAVEL CNX
cnx=DriverManager.getConnection(“jdbc:mysql://localhost/sistema”,“root”,“root”);//aponta para qual servidor ele vai achar
rs.first();
PreparedStatement stm=cnx.prepareStatement(sql);//PREPARA PARA PASSAR TODA A STRING SQL PARA O BANCO
stm.setString(1,pr.getNome());
stm.setString(2,pr.getFornecedor());
stm.setDouble(3,pr.getPreco());
stm.setDouble(4,pr.getQtde());
stm.executeUpdate();
stm.executeQuery(); //EXECUTA A STRING SQL
cnx.close();// FECHA A CONEXAO COM O BANCO DE DADOS
}
//E TRATADO UMA EXPEITION OU ALGUM ERRO CASO HAJA
catch(Exception e){
System.out.println(e.toString());
}
}
pessoal não consigo conectar está dado o mesmo erro
gerando um exeption.nullpointer.
Pessoal estou com um probleminha no site da Brasil Telecom:
500 Internal Server Error
java.lang.NullPointerException at org.apache.struts.action.ActionServlet.getProcessorForModule(ActionServlet.java:639) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1907) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:782) at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330) at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:794) at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:208) at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:125) at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192) at java.lang.Thread.run(Thread.java:534)
Só que um dia o site funcionou… e depois não mais!!!
Alguém pode me ajudar???
Obrigada :lol:
Boas a todos, também estou com o erro NullPointerException quando executo a função acrescentaLivro nomeadamente aqui, já tentei tirar o this.livros = null; mas acontece-me o mesmo.
Alguma ajuda
public class Biblioteca {
private Vector livros;
private String nome;
public Biblioteca(String nome){
this.nome = nome;
this.livros = null;
}
public void acrescentaLivro(String titulo, String autor){
Livro novo = new Livro(titulo, autor); //cria o registo
livros.add(novo);//acrescenta-o á bilbioteca
}
Amigos, muito obrigado pela ajuda de vocês, eu tive o mesmo erro de java.lang.NullPointerException no eclipse 3.5.2 ve 1.4.0
O meu problema foi devido a uma veriável local, eu comentei, e ai voltou a funcionar.
try {
Empresa emp = new Empresa();
emp.setRazao_social(txtrazao_social.getText());
emp.setNome_fantasia(txtnome_fantasia.getText());
emp.setCnpj(txtcnpj.getText());
emp.setInsc_estadual(txtIncrEstadual.getText());
emp.setInsc_municipal(txtInscMunicipal.getText());
emp.setEndereco_emp(txtEndereco.getText());
emp.setComplemento_emp(txtComplemento.getText());
emp.setBairro_emp(txtxbairro.getText());
emp.setCidade_emp(txtcidade.getText());
emp.setCep_emp(txtcep.getText());
emp.setTelefone_emp(txttelefone.getText());
emp.setFax_emp(txtfax.getText());
emp.setEmail_emp(txtemail.getText());
emp.setQuant_empregados_emp(Integer.parseInt(txtempregados.getText()));
emp.setSite_emp(txtsite.getText());
emp.setFundacao(txtfundacao.getText());
emp.setCapital_social(Integer.parseInt(txtcapitalsocial.getText()));
dao.adicionarEmpresa(emp);
setVisible(false);
frmCadastro_Socio dialog = new frmCadastro_Socio(new javax.swing.JFrame(), true, null);
dialog.setVisible(true);
} catch (Exception ex) {
ex.printStackTrace();
Logger.getLogger(frmCadastro_Empresa.class.getName()).log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(this, "Erro adicionando empresa. " + ex, "Error",
JOptionPane.ERROR_MESSAGE);
}
}
Quando executa ele cai no catch e dá o erro java.lang.NullPointerException
Esse tópico é um fenômeno de visitas… Deve ser 99% via google.
O pior é um post antigo e sem uma solução rsrsrs , na criação das entity estava colocando no campo do Id assim private Integer id , e mandando criar os equals e hashCode , mas o correto é private Int id , e mandar criar os equals e hashCode .
tambem estou com um probleminha com o java.lang.NullPointerException
estou tentando filtrar dados do Banco de datos e gerar o relatorio em um tabela. Quando começo a digitar no campo de pesquisa surge a menssagem java.lang.NullPointerException
Codigo na Classe:
public ResultSet RelatorioVeiculos(String modeloVeiculo){
conn.Conectar();
ResultSet rs;
String consulta = "SELECT * FROM veiculo WHERE modeloVeiculo ILIKE '%"+modeloVeiculo+"%'";
conn.Consultar(consulta);
rs = conn.ResultSet;
return rs;
}
Codigo no formulario:
public void PreencherTabela(String modeloVeiculo){
ClasseVeiculo relatorio = new ClasseVeiculo();
ResultSet rs;
rs = relatorio.RelatorioVeiculos(modeloVeiculo);
DefaultTableModel tabelaVeiculo = (DefaultTableModel) tblRelatVeiculo.getModel();//declara uma variavel do tipo DTM e recebe os dados do modelo
//tblRelatVeiculo.setNumRows(0);
try{
while(rs.next()){
tabelaVeiculo.addRow(new Object[]{rs.getString("codVeiculo"), rs.getString("modeloVeiculo"), rs.getString("anoVeiculo"),rs.getString("marcaVeiculo"),rs.getString("placaVeiculo"),rs.getString("tipoVeiculo"),rs.getString("lugarVeiculo")});
}
}
catch(Exception ex){
JOptionPane.showMessageDialog(null, ex);
}
}
ação do jtextfield:
private void campoPesquisaVeiculoCaretUpdate(javax.swing.event.CaretEvent evt) {
// TODO add your handling code here:
String modVeiculo = campoPesquisaVeiculo.getText();
PreencherTabela(modVeiculo);
}
Desde já agradeço!!!
Boa tarde!
Amigo seu erro se não me engano está sendo porque está dando nullo , ou seja não esta encontrando o campo . faz o seguinte no seu select coloca assim :
“SELECT * FROM veiculo WHERE modeloVeiculo LIKE ?”, modeloVeiculo ;
ai quando chamar o campo pesquisa coloca assim
String modVeiculo = “%”+campoPesquisaVeiculo.getText().trim()"%"; //o trim() tira espaços vazios
se não funcionar desculpa é que estou em um pc que não tenho como testar o código ,
RelampagoBR , o seu codigo não funcionou, mas me deu uma ideia e consegui encontrar o erro, e rodar o metodo como eu queria.
coloquei meu metodo assim agora:
Obrigado pela dica! :D
public ResultSet RelatorioVeiculos(String modeloVeiculo){
conn.Conectar();
ResultSet rs= null;
try
{
rs = conn.Consultar("SELECT * FROM veiculo WHERE modeloVeiculo ILIKE'%"+modeloVeiculo+"%'");
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(null, ex);
}
conn.Desconectar();
return rs;
}
Estou com um problema parecido…criei um arquivo chamado produto.java para chamar um relatório do iReport, porém, quando compilo o arquivo aparece o erro java.lang.NullPointerException. Segue o código do arquivo produto.java…
package relatorios;
import java.util.HashMap;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
import utilitarios.conexao;
public class produtos{
conexao con = new conexao();
public produtos(){
try {
con.conecta();
con.executaSQL("select * from produtos");
JRResultSetDataSource jrRS = new JRResultSetDataSource(con.resultset);
JasperPrint jasperPrint = JasperFillManager.fillReport("relatorio/produtos.jasper", new HashMap(), jrRS);
JasperViewer.viewReport(jasperPrint);
} catch (Exception erro) {
JOptionPane.showMessageDialog(null, "Deu o erro:" + erro);
}
}
public static void main(String args[]){
new produtos();
}
}
O relatório está na pasta que fica em -> C:\Documents and Settings\Anderson\Meus documentos\NetBeansProjects\Estoque\relatorio\produtos.jasper
Connection conecta;
PreparedStatement pst;
ResultSet rs;
String url = "jdbc:mysql://localhost/Cad_cliente";
String driver = "com.mysql.jdbc.Driver";
String user = "root";
String pass = "";
public void abreconexao()
{
try{
Class.forName(driver);
conecta = (com.mysql.jdbc.Connection) DriverManager.getConnection(url, user, pass);
pst = (PreparedStatement) conecta.createStatement();
System.out.println("conectado!");
} catch (ClassNotFoundException | SQLException erro){
System.out.println("Não conectado!");
}
}
public cadastro() throws ClassNotFoundException {
initComponents();
}
public void cadastraUsuario (){
String sql = "insert into usuario (nome,senha) values (?, ?)";
try {
------------------------------------------------aparece esse erro aqui ----------------------------------
PreparedStatement stmt = conecta.prepareStatement(sql);
//pst = conecta.prepareStatement(“insert into usuario (nome,senha) values (?,?)”);
pst.setString(1,txt_nome.getText());
pst.setString(2,txt_senha.getText());
pst.execute();
pst.close();
System.out.println("Gravado!");
conecta.close();
JOptionPane.showMessageDialog(null, " inserido");
} catch (SQLException error) {
JOptionPane.showMessageDialog(null, error);
}
}
alguem pode me ajudar?
Crie um tópico novo e ajudaremos você.
Crie um tópico novo e ajudaremos você.
De preferência no GUJ - Perguntas
ta ai o link: