RESOLVIDO - Erro ExecutaSql na inserção de dados no banco
3 respostas
P
Pereira_Gouveia
Estou tentando fazer um insert com o executaSql e esta dando este erro, sou iniciante e não consegui resolver o problema, se alguem poder me dar uma ajudinha eu vou ser muito agradecido.
Poste seu código para ajudar a identificar melhor o erro.
Mas pelo o que está retornando o erro.
A sua conexão com o banco de dados está retornando null, provavelmente você não está passando nada para a conexão.
R
Rodrigo_Marden
Não esqueça de selecionar o fonte e clicar no botão </> do fórum.
É impossível ler o código da forma que está.
P
Pereira_Gouveia
/** * * @author André Gouveia */publicclassConecta_Banco{publicStatementstmt;publicResultSetrs;publicStatementstatement;publicResultSetresultSet;privateStringdriver="org.postgresql.Driver";privateStringcaminho="jdbc:postgresql://localhost:5432/ibscDB";//"jdbc:postgresql://10.0.0.120:5432/escola"privateStringusuario="postgres";privateStringsenha="17072010";publicConnectionconn;//iniciando os objetospublicConecta_Banco(){this.rs=rs;this.stmt=stmt;this.conn=conn;}//abre conexão com o bancopublicvoidabreConexao(){try{System.setProperty("jdbc.Drivers",driver);setConn(DriverManager.getConnection(caminho,usuario,senha));//JOptionPane.showMessageDialog(null, "Conectado com sucesso!");}catch(SQLExceptionex){JOptionPane.showMessageDialog(null,"Erro ao conectar!"+ex.getMessage());//Logger.getLogger(ConexaoSCI.class.getName()).log(Level.SEVERE, null, ex);}}//fecha conexão com o bancopublicvoidfechaConexao(){try{getConn().close();//JOptionPane.showMessageDialog(null,"banco fechado");}catch(SQLExceptionex){JOptionPane.showMessageDialog(null,"Não foi possivel "+"fechar o banco de dados: "+ex.getMessage());}}publicbooleanexecutarSQL(StringpSQL){try{//createStatement de con para criar o Statementthis.setStatement(getConn().createStatement());// Definido o Statement, executamos a query no banco de dadosthis.setResultSet(getStatement().executeQuery(pSQL));}catch(SQLExceptionex){JOptionPane.showMessageDialog(null,ex.getMessage());//ex.printStackTrace();returnfalse;}returntrue;}publicvoidexecutaSql(Stringsql){try{stmt=conn.createStatement(rs.TYPE_SCROLL_SENSITIVE,rs.CONCUR_READ_ONLY);rs=stmt.executeQuery(sql);}catch(SQLExceptionex){//JOptionPane.showMessageDialog(null,"Não foi possível "+ "executar o comando sql,"+ex+", o sql passado foi "+sql);}}publicintinsertSQL(StringpSQL){intstatus=0;try{//createStatement de con para criar o Statementthis.setStatement(conn.createStatement());// Definido o Statement, executamos a query no banco de dadosthis.statement.executeUpdate(pSQL);//consulta o ultimo id inseridothis.setResultSet(this.getStatement().executeQuery("SELECT MAX(id_disciplina) FROM tb_disciplina"));//recupera o ultimo id inseridowhile(this.resultSet.next()){status=this.resultSet.getInt(1);}//retorna o ultimo id inseridoreturnstatus;}catch(SQLExceptionex){ex.printStackTrace();returnstatus;}}/** * @return the stmt */publicStatementgetStmt(){returnstmt;}/** * @param stmt the stmt to set */publicvoidsetStmt(Statementstmt){this.stmt=stmt;}/** * @return the rs */publicResultSetgetRs(){returnrs;}/** * @param rs the rs to set */publicvoidsetRs(ResultSetrs){this.rs=rs;}/** * @return the conn */publicConnectiongetConn(){returnconn;}/** * @param conn the conn to set */publicvoidsetConn(Connectionconn){this.conn=conn;}/** * @return the statement */publicStatementgetStatement(){returnstatement;}/** * @param statement the statement to set */publicvoidsetStatement(Statementstatement){this.statement=statement;}/** * @return the resultSet */publicResultSetgetResultSet(){returnresultSet;}/** * @param resultSet the resultSet to set */publicvoidsetResultSet(ResultSetresultSet){this.resultSet=resultSet;}}