Boa tarde pessoal sou novo no forun e estou aqui a busca de novos conhecimentos e ajuda dos amigos e claro no que eu puder ajudar estarei a disposição…
Pessoal começei a criar uma aplicação com netbeans 6.5 e acessando uma base de dados postgres 8.1 fiz a classe conecta, depois criei um formulario basico de cadastro de cliente o seguinte quando vou executar um insert ele esta me dado a seguinte mensagem de erro…
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at cadastro.cad_cliente.btn_gravaActionPerformed(cad_cliente.java:660)
at cadastro.cad_cliente.access$200(cad_cliente.java:22)
at cadastro.cad_cliente$3.actionPerformed(cad_cliente.java:236)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:5517)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
at java.awt.Component.processEvent(Component.java:5282)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3984)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3819)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1791)
at java.awt.Component.dispatchEvent(Component.java:3819)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Meu codigo para o insert é o seguinte :
private void btn_gravaActionPerformed(java.awt.event.ActionEvent evt) {
try
{
String sqlinsert = "INSERT INTO cliente (cli_nome,cli_endereco," +
"cli_email,cli_bairro,cli_cidade,cli_uf,cli_fone,cli_fonecel," +
"cli_cpf,cli_obs,cli_rg,cli_orgaorg,cli_dtnasc,cli_dtcad,cli_cnpj," +
"cli_insest,cli_sexo,cli_profissao,cli_empresa,cli_foneemp,cli_renda," +
"cli_referencia,cli_foneref,cli_auditoria,cli_cep)" +
" VALUES ('"+edt_nome.getText()+"','"+edt_endereco.getText()+"','"+edt_email.getText()+"'," +
"'"+edt_bairro.getText()+"','"+edt_cidade.getText()+"','"+cb_uf.getSelectedItem()+"','"+edt_foneres.getText()+"'" +
"'"+edt_fonecel.getText()+"','"+edt_cpf.getText()+"','"+edt_obs.getText()+"','"+edt_rg.getText()+"'," +
"'"+edt_orgexped.getText()+"','"+edt_dtnasc.getText()+"','"+edt_dtcad.getText()+"','"+edt_cnpf.getText()+"'," +
"'"+edt_insest.getText()+"','"+cb_sexo.getSelectedItem()+"','"+edt_profissao.getText()+"',+" +
"'"+edt_empresa.getText()+"','"+edt_foneemp.getText()+"','"+edt_renda.getText()+"','"+edt_ref.getText()+"',+" +
"'"+edt_foneref.getText()+"','"+edt_auditoria.getText()+"','"+edt_cep.getText()+"')";
con_cliente.statement.executeUpdate(sqlinsert);
JOptionPane.showMessageDialog(null,"Gravação efetuada com sucesso. ");
con_cliente.resultSet = con_cliente.statement.executeQuery("select * from cliente ");
con_cliente.resultSet.next();
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null,"Não foi possivel inserir o registro"+erro);
}
}
Aqui vai minha classe conexão
package utilitarios;
import java.sql.*;
import javax.swing.*;
public class conexao
{
final private String driver = "org.postgresql.Driver";
final private String url = "jdbc:postgresql://localhost:5432/ecf";
final private String usuario ="postgres";
final private String senha ="postgres";
private Connection conexao;
public Statement statement;
public ResultSet resultSet;
public boolean conecta()
{
boolean result = true;
try
{
Class.forName(driver);
conexao = DriverManager.getConnection(url,usuario,senha);
JOptionPane.showMessageDialog(null,"conectou!!!");
}
catch(ClassNotFoundException Driver)
{
JOptionPane.showMessageDialog(null,"Driver não localizado!!"+Driver);
Driver.printStackTrace();
result = false;
}
catch(SQLException Fonte)
{
JOptionPane.showMessageDialog(null,"Deu erro na conexão "+
"com a fonte de dados "+Fonte);
result = false;
}
return result;
}
public void desconecta()
{
boolean result = true;
try
{
conexao.close();
JOptionPane.showMessageDialog(null,"Conexão fechada.");
}
catch (SQLException fecha)
{
JOptionPane.showMessageDialog(null,"Não foi possivel fecha"+
"o bando de dados."+fecha.getMessage());
result = false;
}
}
public void executeSQL(String sql)
{
try
{
statement = conexao.createStatement(resultSet.TYPE_SCROLL_SENSITIVE,
resultSet.CONCUR_READ_ONLY);
resultSet = statement.executeQuery(sql);
}
catch(SQLException sqlex)
{
JOptionPane.showMessageDialog(null," Não foi possivel"+
"executar o comando sql." +sqlex+ " O sql passado foi " +sql);
}
}
}
Como posso resolver este problema ???
Se alguem tiver alguma dica
Grato desde ja…