Bom dia pessoal, sou novato tbm na area de desenvolvimento em java… Estou com um problema que já não sei como solucionar.
Utilizo a IDE netbeans, onde separei meu código da seguinte forma:
package classes;
import java.sql.;
import javax.swing.;
/**
*
-
@author Bruno
*/
public class ConexaoBD {
private String driver = “org.postgresql.Driver”;
private String url = “jdbc:postgresql://localhost:5432/postgres”;
private String usuario = “postgres”;
private String senha = “xatm092”;
private Connection conexao;
public Statement stmt;
public ResultSet rs;
//conexao = null;
/** Creates a new instance of ConexaoBD */
public ConexaoBD() {
try {
Class.forName(driver);
conexao = DriverManager.getConnection(url, usuario, senha);
JOptionPane.showMessageDialog(null,“Conexão Realizada.”);
}
catch(ClassNotFoundException Driver){
// retorna se houve erro na class.forName
JOptionPane.showMessageDialog(null,"Driver não localizado: "+Driver);
}
catch(SQLException erro){
// retorna se houve erro no na conexao sql
JOptionPane.showMessageDialog(null,"Deu erro na conexão "+"com a fonte de dados: "+erro);
} catch(Exception ex)
{
JOptionPane.showMessageDialog(null,""+ex);
}
}
public void conecta(){
}
public void desconecta(){
try{
conexao.close();
JOptionPane.showMessageDialog(null,“conexão fechada”);
}
catch(SQLException erro){
JOptionPane.showMessageDialog(null,"Conexao não pode ser encerrada, erro: "+erro);
}
}
public void executeSQL(String sql)
{
// cria se uma statement da conexao onde é utilizada para executar a query retornando os valores para o objeto rs.
try
{
stmt = conexao.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null,“Não foi possível executar o comando sql.”+erro);
}
}
}
Está seria a minha classe de conexão com o banco e o código a seguir seria o do evento de inserção dos dados no banco.
private void but_Usu_SairActionPerformed(java.awt.event.ActionEvent evt) {
ConexaoBD con = new ConexaoBD();
//con.conecta();
try{
con.stmt.executeUpdate(“insert into usuario (nome, sobrenome, telefone, cargo, senha)” +
" values (‘ricardo’, ‘vieira’, 38326720, ‘conferente’, ‘ric’)");
JOptionPane.showMessageDialog(null,“Dados inseridos com sucesso”);
}
catch(SQLException erro){
JOptionPane.showMessageDialog(null,“erro no update”+erro);
}
con.desconecta();
}
Este código está me retornando o seguinte erro:
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at Interfaces.Cad_Usuarios.but_Usu_SairActionPerformed(Cad_Usuarios.java:185)
at Interfaces.Cad_Usuarios.access$100(Cad_Usuarios.java:17)
at Interfaces.Cad_Usuarios$2.actionPerformed(Cad_Usuarios.java:87)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:231
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:603
at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:205
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:16
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Já procurei saber sobre este erro, pois este somente acontece quando estamos passando um objeto nulo à um metódo, creio eu então que esta instrução de sql esteja errada, porem este comando sql foi executado no banco, e assim sendo resultou em sucesso.
Agradeço a voçes a atenção…