Erro no driver org.postgresql.Driver

5 respostas
R

Bom dia a todos :smiley:

Pessoal eu sei que este problema é clássico, para quem está começando a parte de conexão com BD, que é o meu caso. Antes de postar esta minha dúvida pesquisei bastante sobre o assunto, mas mesmo assim ainda não obtive êxito na conexão.  dei início à alguns passos de verificação:

-observei se o driver do postgre estava na pasta lib do projeto, e estava;

-minha base de dados  esta pronta,  não sei se esta totalmente condizente com meu projeto;

-minha classe de conexão  foi testada com outro projeto e consegui conectar normalmente.



Tenho uma tela de cadastro de DespesasFixas, tenho um button NOVO, que teria que buscar o

idDesp automaticamente, mas não esta buscando. Qdo clico no button NOVO, é lançado na saída um Erro no driver org.postgresql.Driver e mais algumas exception:

Erro no driver org.postgresql.Driver Erro no driver org.postgresql.Driver Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at controledespesasresidenciais_bd.contoller.DespesasFixas_CRUD.listar(DespesasFixas_CRUD.java:71) at controledespesasresidenciais_bd.view.CadastroDespesasFixas.busca(CadastroDespesasFixas.java:285) at controledespesasresidenciais_bd.view.CadastroDespesasFixas.jButtonNovoActionPerformed(CadastroDespesasFixas.java:262) at controledespesasresidenciais_bd.view.CadastroDespesasFixas.access$300(CadastroDespesasFixas.java:26) at controledespesasresidenciais_bd.view.CadastroDespesasFixas$4.actionPerformed(CadastroDespesasFixas.java:111) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) 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:6263) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6028) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Se poderem me ajudar, agradeço desde já pela gentileza.

5 Respostas

pmlm

Se precisas de ajuda, podes começar por nos ajudar a nós e dar esse código :slight_smile:

aprendizweb

Fala !!!

Verdade posta a classe DespesasFixas_CRUD.java e a sua configuraçãop de banco de dados!!!

R

[quote][quote=aprendizweb]Fala !!!

Verdade posta a classe DespesasFixas_CRUD.java e a sua configuraçãop de banco de dados!!!

Aprendizweb, aí vão as duas classes que vc pediu
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package controledespesasresidenciais_bd.contoller;


import controledespesasresidenciais_bd.model.DespesasFixas_model;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;

/**
 *
 * @author x
 */
public class DespesasFixas_CRUD {

     Conexao co = new Conexao();
  int flag=0;

  public void inserir(DespesasFixas_model desp) {
   try{


      co.conectar();

       /*prepareStatement (String sql)
           Cria um objeto PreparedStatement para o envio de instruções SQL parametrizadas
        para o banco de dados.*/
      PreparedStatement stmt = co.con.prepareStatement(
     "INSERT INTO DespesasFixas(dataVenc,qtdParcPaga,qtdParcPagar,status) " +
     "VALUES( ?, ?, ?, ? )");

      /*setString (int parameterIndex, String x)
           Define o parâmetro designado para o valor dado String Java.*/
       
       stmt.setDate(1, (java.sql.Date) desp.getDataVencDespesa());
       stmt.setInt(2, desp.getQuantParcelaPaga());
       stmt.setInt(3, desp.getQuantParcelaPagar());
       stmt.setBoolean(4, desp.isStatus());

       /*execute ()
           Executa a instrução SQL no objeto PreparedStatement, que pode ser qualquer
        tipo de instrução SQL.*/
       stmt.execute();

       /*close ()
           Libera este banco de dados objeto Statement e recursos JDBC
        imediatamente em vez de esperar para que isso aconteça quando ele é automaticamente fechada.*/
       stmt.close();

      } catch(SQLException e){
            JOptionPane.showMessageDialog(null,"ERRO..."+e.getMessage(),"Cadastro de Despesas Fixas",0);
      }
   }

  public int listar() {//metodo de busca do idDespesa

     int lista=0;
     boolean status=false;

      try{
          co.conectar();//co objeto Conexao

        
          PreparedStatement stmt = co.con.prepareStatement(
               "select last_value from despesasfixas_idDespfx_seq"); // busca o ultimo id da sequencia despesa

      
        ResultSet rs = stmt.executeQuery();// rs objeto que contem os resultados da instruçao SQL efetuada

        PreparedStatement stmt1 = co.con.prepareStatement(
               "select * from despesasfixas"); // busca todos os dados da tabela despesas

        ResultSet rs1 = stmt1.executeQuery();

        
        if (rs1.next()) {
               status = rs1.getBoolean("status");

         }
       
        stmt1.close();

        if(status == false){ // para a primeira vez do banco
        if (rs.next()) {

           
               lista = rs.getInt(1);

         }}
        else{

           
            if (rs.next()) {
               lista = rs.getInt(1)+1;  // a partir da segunda vez - incrementa o id(visual)
        }}
        stmt.close();


      }catch(SQLException e){
            JOptionPane.showMessageDialog(null, "ERRO..."+e.getMessage(), "Alteração de Despesas Fixas", 0);
      }
      return lista;
    }

   public List listar_dados() {

     List<DespesasFixas_model> lista = new ArrayList<DespesasFixas_model>();

      try{
          co.conectar();
          PreparedStatement stmt = co.con.prepareStatement(
                "SELECT * FROM despesasFixas");

        ResultSet rs = stmt.executeQuery();

        while (rs.next()) {

          DespesasFixas_model d = new DespesasFixas_model();
          d.setIdDespesa(rs.getInt("idDespfx"));
          d.setNomeDespesa(rs.getString("nomeDespesa"));
          lista.add(d);
       }
        stmt.close();

      }catch(SQLException e){
            JOptionPane.showMessageDialog(null, "ERRO..."+e.getMessage(), "Alteração de Despesas Fixas", 0);
      }
      return lista;
    }



}

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package controledespesasresidenciais_bd.contoller;

import java.sql.*;
import javax.swing.*;

/**
 *
 * @author x
 */
public class Conexao {

    public Connection con;
  static String host="localhost"; // servidor onde ele vai conectar(postgreSQL 9.0),
  static String database="controle_despesas_residenciais"; // base de dados
  static String usuario="postgres";
  static String senha="180399";//senha cadastrada no BD.
  static String url="jdbc:postgresql://" + host + "/" + database;

  public Conexao(){

  }

  public void conectar()
  {
    try {
       
       Class.forName("org.postgresql.Driver");
       System.out.println("Driver OK!!!");

      
       con = DriverManager.getConnection(url,usuario,senha);
       System.out.println("Conexão OK!!!");

    } catch ( ClassNotFoundException exc ) {
       System.out.println("Erro no driver "+exc.getMessage());
    } catch(SQLException exc){
       System.out.println("Erro de conexao ="+exc.getMessage());
    }
  }


  public void Fechar_Conexao()
   {
       try{
           con.close(); // fechando a conexao

       } catch(SQLException exc) {
           System.out.println(exc.getMessage());
       }
   }

}
pmlm

Tens o jar do postgres no teu projecto? O problema é que ele não encontra a classe org.postgresql.Driver

R
Criado 14 de setembro de 2012
Ultima resposta 14 de set. de 2012
Respostas 5
Participantes 3