Boa tarde! Por favor ajuda.
Sou iniciante em programção Java, não estou conseguindo resolver este erro que vou postar abaixo:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at conexoes.Conecta_Banco.executaSql(Conecta_Banco.java:73)
at Autenticacao.ViewiPrincipal.logdeAcesso(ViewiPrincipal.java:879)
at Autenticacao.ViewiPrincipal.<init>(ViewiPrincipal.java:66)
at Autenticacao.ViewLogin.autenticar(ViewLogin.java:210)
at Autenticacao.ViewLogin.bEntrarActionPerformed(ViewLogin.java:195)
at Autenticacao.ViewLogin.access$100(ViewLogin.java:21)
at Autenticacao.ViewLogin$2.actionPerformed(ViewLogin.java:89)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at com.jtattoo.plaf.BaseButtonListener.mouseReleased(BaseButtonListener.java:60)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
CONSTRUÍDO COM SUCESSO (tempo total: 21 segundos)
/**
*
* @author André Gouveia
*/
public class Conecta_Banco {
public Statement stmt;
public ResultSet rs;
public Statement statement;
public ResultSet resultSet;
private String driver = "org.postgresql.Driver";
private String caminho = "jdbc:postgresql://localhost:5432/ibscDB"; //"jdbc:postgresql://10.0.0.120:5432/escola"
private String usuario = "postgres";
private String senha = "17072010";
public Connection conn;
//iniciando os objetos
public Conecta_Banco() {
this.rs = rs;
this.stmt = stmt;
this.conn = conn;
}
//abre conexão com o banco
public void abreConexao() {
try {
System.setProperty("jdbc.Drivers", driver);
setConn(DriverManager.getConnection(caminho, usuario, senha));
//JOptionPane.showMessageDialog(null, "Conectado com sucesso!");
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Erro ao conectar!" + ex.getMessage());
//Logger.getLogger(ConexaoSCI.class.getName()).log(Level.SEVERE, null, ex);
}
}
//fecha conexão com o banco
public void fechaConexao() {
try {
getConn().close();
//JOptionPane.showMessageDialog(null,"banco fechado");
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Não foi possivel " + "fechar o banco de dados: " + ex.getMessage());
}
}
public boolean executarSQL(String pSQL) {
try {
//createStatement de con para criar o Statement
this.setStatement(getConn().createStatement());
// Definido o Statement, executamos a query no banco de dados
this.setResultSet(getStatement().executeQuery(pSQL));
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, ex.getMessage());
//ex.printStackTrace();
return false;
}
return true;
}
public void executaSql(String sql) {
try {
stmt = conn.createStatement(rs.TYPE_SCROLL_SENSITIVE, rs.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
} catch (SQLException ex) {
//JOptionPane.showMessageDialog(null,"Não foi possível "+ "executar o comando sql,"+ex+", o sql passado foi "+sql);
}
}
public int insertSQL(String pSQL) {
int status = 0;
try {
//createStatement de con para criar o Statement
this.setStatement(conn.createStatement());
// Definido o Statement, executamos a query no banco de dados
this.statement.executeUpdate(pSQL);
//consulta o ultimo id inserido
this.setResultSet(this.getStatement().executeQuery("SELECT MAX(id_disciplina) FROM tb_disciplina"));
//recupera o ultimo id inserido
while (this.resultSet.next()) {
status = this.resultSet.getInt(1);
}
//retorna o ultimo id inserido
return status;
} catch (SQLException ex) {
ex.printStackTrace();
return status;
}
}
/**
* @return the stmt
*/
public Statement getStmt() {
return stmt;
}
/**
* @param stmt the stmt to set
*/
public void setStmt(Statement stmt) {
this.stmt = stmt;
}
/**
* @return the rs
*/
public ResultSet getRs() {
return rs;
}
/**
* @param rs the rs to set
*/
public void setRs(ResultSet rs) {
this.rs = rs;
}
/**
* @return the conn
*/
public Connection getConn() {
return conn;
}
/**
* @param conn the conn to set
*/
public void setConn(Connection conn) {
this.conn = conn;
}
/**
* @return the statement
*/
public Statement getStatement() {
return statement;
}
/**
* @param statement the statement to set
*/
public void setStatement(Statement statement) {
this.statement = statement;
}
/**
* @return the resultSet
*/
public ResultSet getResultSet() {
return resultSet;
}
/**
* @param resultSet the resultSet to set
*/
public void setResultSet(ResultSet resultSet) {
this.resultSet = resultSet;
}
}