Erro em executequery java.lang.nullpointerexception (Resolvido)

Estou com um erro aqui, está retornando um erro java.lang.NullPointerException, sempre usei a mesma classe de conexão e nunca deu esse erro, segue o sql e classe de conexão:

[code]package cga;
import java.sql.;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.
;
public class conexao{
final private String driver = “org.postgresql.Driver”;
//Efetua a Conexão com o Banco
final private String url = “jdbc:postgresql://10.1.1.1:5432/cga”;
final private String usuario = “postgres”;
final private String senha = “senha”;
private Connection conexao;
//Responsável por abrir o caminho até o Banco de Dados
public Statement statement;
//Armazena os Dados do Banco
public ResultSet resultset;

//Classe Conecta
public boolean conecta () {
    boolean result = true;
    try {
        Class.forName(driver);
        try {
            conexao = DriverManager.getConnection(url, usuario, senha);
            System.out.println("Conectou");
        } catch (SQLException ex) {
            Logger.getLogger(conexao.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    catch(ClassNotFoundException Drive) {
        JOptionPane.showMessageDialog(null, "Não foi Possível Conectar a Base de Dados.");
        result = false;
    
    }
    return result;
}
//Classe Desconecta
public void desconecta (){
    boolean result = (true);
    try{
        conexao.close();
    }
            catch (SQLException erroSQL){
                result =false;
            }
}
//Conecta Sql
public void execultesql(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 possível executar o comando SQL"+sqlex);
    }
}

public void executesql(String string) {
    throw new UnsupportedOperationException("Not yet implemented");
}

}[/code]

O sql:

[code] try{
String sqlinsert = “insert into furos (desc_furo, data_furo, obs_furo, conf_metragem, orien_testemunho, marc_metro_metro, leit_sus, desc_rqd, desc_geologia, trans_testem_calha, calhas_etiquetadas, test_serrar, amost_normal, amost_urgente, furo_arq_patio) values (’”+cad_furos_jtf_nome_furo.getText()+"’, ‘"+data1.getText()+"’, ‘"+cad_furos_jtf_obs.getText()+"’, ‘"+cad_furos_jcb_conf_metragem.getSelectedItem()+"’, ‘"+cad_furos_jcb_orien_testemunho.getSelectedItem()+"’, ‘"+cad_furos_jcb_marc_metro_metro.getSelectedItem()+"’,’" +
cad_furos_jcb_leitura_sus.getSelectedItem()+"’, ‘"+cad_furos_jcb_leitura_rqd.getSelectedItem()+"’, ‘"+cad_furos_jcb_desc_geologia.getSelectedItem()+"’, ‘"+cad_furos_jcb_tran_testem_calha.getSelectedItem()+"’, ‘"+cad_furos_jcb_calhas_etiquetas.getSelectedItem()+"’, ‘"+cad_furos_jcb_testem_serrar.getSelectedItem()+"’, ‘"+cad_furos_jcb_amost_normal.getSelectedItem()+"’, ‘"+cad_furos_jcb_amost_urgente.getSelectedItem()+"’, ‘"+cad_furos_jcb_furo_arquiv_patio.getSelectedItem()+"’)";

       con_cga.statement.executeUpdate(sqlinsert);
        JOptionPane.showMessageDialog(null, "DADOS GRAVADOS COM SUCESSO");
}
catch(Exception erro){
JOptionPane.showMessageDialog(null, "NÃO FOI POSSÍVEL GRAVAR OS DADOS "+erro);
}[/code]

Engraçado que quando eu uso o con_cga.execultesql(sqlinsert); ele grava mais retorna erro que não pode retornar nada da consulta por isso preciso usar o outro…

o que pode ser??? Nunca aconteceu isso estou sem entender…

T+…

Bom dia,

Usa executeUpdate, no lugar de, executeQuery. Na linha 52.

[]s

Dá erro quando mudo de executeQuery(sql) para executeUpdate(sql) dá erro …

Acabei de ver que o executeUpdate, não retorna valor, para o ResultSet.

[]s

Mais e ai o que fazer???

Espero que ajudem…

cara uma DICA faça SQL usando parâmetros facilita o entendimento depois e fica melhor para programar!
EX:

[code]try {

Class.forName(“org.postgresql.Driver”);
con = DriverManager.getConnection(“jdbc:postgresql://localhost/BD”, “postgres”, “postgres”);
String sql = (“SELECT usuarios.nome,usuarios.login,usuarios.senha FROM usuarios where login = ? and senha = ?”);

ps = con.prepareStatement(sql);

//passa os dados login e senha para a consulta SQL
ps.setString(1, getLogin());
ps.setString(2, getSenha());

ResultSet rs = ps.executeQuery();[/code]
veja que o SQL eu uso o símbolo de interrogação “?”

no seu caso ajuda muito!
vlw

Valeu pelas respostas mais até agora não consegui resolver meu problema, alguma dica???

T++

Posta por favor, o novo código e o erro de compilação.

[]s

Classe de Cadastro:

[code]/*

  • cadastro_furos.java
  • Created on 25 de Junho de 2010, 15:32
    */

package cga;

import java.util.Date;
import javax.swing.JOptionPane;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;

/**
*

  • @author sg2308
    */
    public class cadastro_furos extends javax.swing.JFrame {
    //VARIAVEL DE CONEXAO COM O BANCO//
    conexao con_cga;

    /** Creates new form cadastro_furos */
    public cadastro_furos() {
    initComponents();
    //INICIA A CONEXAO COM O BANCO//
    con_cga = new conexao();
    con_cga.conecta();

     //****TAMANHO DA JANELA EM PIXEL****//
     java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); 
     setBounds((screenSize.width-915)/2, (screenSize.height-800)/2, 915, 800);
     
     //****SETA O TÍTULO DA JANELA****//
     setTitle("Cadastro de Furos");
     
     
     //****SETA A APARENCIA DA JANELA****//
     try{
     UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
     SwingUtilities.updateComponentTreeUI(this);
     }
     catch(Exception erro){
     JOptionPane.showMessageDialog(null, "NÃO FOI POSSÍVEL SETAR O TEMA DA JANELA");
     }
     
     //****DEIXA O BOTÃO DE MAXIMIZAR DESABILITADO****//
     setResizable(false);
     
     
      //****INSERE A DATA O JLABEL DATA****//
      Date data = new Date();
      String dia   =""+data.getDate();
      //****SOMA +1 POIS ELE CONTA O MES A PARTIR DO 0****//
      String mes   =""+String.valueOf(data.getMonth()+1);
      //****SOMA +1900 POIS ELE COMEÇA A CONTAR O ANO A PARTIR DE 1900****//
      String ano   =""+(1900 + data.getYear());
      if (Integer.parseInt(mes)<=9){
          mes="0"+mes;
      }
      if (Integer.parseInt(dia)<=9){
          dia="0"+dia;
      }
      data1.setText(dia+"/"+mes+"/"+ano);
      
      
      //****DEIXA ALGUNS BOTÕES INVISÍVEIS, E CAMPOS DE TEXTOS NÃO EDITÁVEIS****//
      cad_furos_jmb_salvar_alteracoes.setVisible(false);
      cad_furos_jmb_salvar.setVisible(false);
      cad_furos_jtf_nome_furo.setEditable(false);
      cad_furos_jtf_obs.setEditable(false);
    

    }

    /** This method is called from within the constructor to

    • initialize the form.

    • WARNING: Do NOT modify this code. The content of this method is

    • always regenerated by the Form Editor.
      */
      @SuppressWarnings(“unchecked”)
      //
      private void initComponents() {

      jLabel1 = new javax.swing.JLabel();
      cad_furos_jtf_nome_furo = new javax.swing.JTextField();
      jLabel2 = new javax.swing.JLabel();
      data1 = new javax.swing.JLabel();
      jPanel1 = new javax.swing.JPanel();
      jLabel5 = new javax.swing.JLabel();
      cad_furos_jcb_conf_metragem = new javax.swing.JComboBox();
      jLabel6 = new javax.swing.JLabel();
      cad_furos_jcb_orien_testemunho = new javax.swing.JComboBox();
      jLabel7 = new javax.swing.JLabel();
      cad_furos_jcb_marc_metro_metro = new javax.swing.JComboBox();
      jLabel9 = new javax.swing.JLabel();
      cad_furos_jcb_leitura_sus = new javax.swing.JComboBox();
      jLabel10 = new javax.swing.JLabel();
      cad_furos_jcb_leitura_rqd = new javax.swing.JComboBox();
      jLabel11 = new javax.swing.JLabel();
      cad_furos_jcb_desc_geologia = new javax.swing.JComboBox();
      jLabel12 = new javax.swing.JLabel();
      cad_furos_jcb_tran_testem_calha = new javax.swing.JComboBox();
      jLabel13 = new javax.swing.JLabel();
      cad_furos_jcb_calhas_etiquetas = new javax.swing.JComboBox();
      jLabel14 = new javax.swing.JLabel();
      cad_furos_jcb_testem_serrar = new javax.swing.JComboBox();
      jLabel15 = new javax.swing.JLabel();
      cad_furos_jcb_amost_normal = new javax.swing.JComboBox();
      jLabel16 = new javax.swing.JLabel();
      cad_furos_jcb_amost_urgente = new javax.swing.JComboBox();
      jLabel17 = new javax.swing.JLabel();
      cad_furos_jcb_furo_arquiv_patio = new javax.swing.JComboBox();
      jLabel3 = new javax.swing.JLabel();
      jLabel4 = new javax.swing.JLabel();
      jScrollPane1 = new javax.swing.JScrollPane();
      cad_furos_jtf_obs = new javax.swing.JTextArea();
      jPanel2 = new javax.swing.JPanel();
      jScrollPane2 = new javax.swing.JScrollPane();
      jtable_cadastro_furos = new javax.swing.JTable();
      jMenuBar1 = new javax.swing.JMenuBar();
      cad_furos_jmb_novo = new javax.swing.JMenu();
      cad_furos_jmb_salvar = new javax.swing.JMenu();
      cad_furos_jmb_editar = new javax.swing.JMenu();
      cad_furos_jmb_salvar_alteracoes = new javax.swing.JMenu();
      cad_furos_jmb_excluir = new javax.swing.JMenu();
      cad_furos_jmb_sair = new javax.swing.JMenu();

      setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

      jLabel1.setFont(new java.awt.Font(“Tahoma”, 0, 14));
      jLabel1.setText(“Nome do Furo:”);

      jLabel2.setFont(new java.awt.Font(“Tahoma”, 0, 14));
      jLabel2.setText(“Data:”);

      data1.setFont(new java.awt.Font(“Tahoma”, 0, 14));
      data1.setText(“data”);

      jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());

      jLabel5.setText(“Conferência Metragem:”);

      cad_furos_jcb_conf_metragem.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Sim”, “Não” }));

      jLabel6.setText(“Orientação de Testemunho:”);

      cad_furos_jcb_orien_testemunho.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Sim”, “Não” }));

      jLabel7.setText(“Marcação Metro a Metro:”);

      cad_furos_jcb_marc_metro_metro.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Sim”, “Não” }));

      jLabel9.setText(“Leitura de SUS:”);

      cad_furos_jcb_leitura_sus.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Sim”, “Não” }));

      jLabel10.setText(“Descrição de RQD:”);

      cad_furos_jcb_leitura_rqd.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Sim”, “Não” }));

      jLabel11.setText(“Descrição Geologica:”);

      cad_furos_jcb_desc_geologia.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Sim”, “Não” }));

      jLabel12.setText(“Transferência de Testemunho para Calha:”);

      cad_furos_jcb_tran_testem_calha.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Sim”, “Não” }));

      jLabel13.setText(“Calhas Etiquetadas:”);

      cad_furos_jcb_calhas_etiquetas.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Sim”, “Não” }));

      jLabel14.setText(“Testemunho a Serrar:”);

      cad_furos_jcb_testem_serrar.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Sim”, “Não” }));

      jLabel15.setText(“Amostragem Normal:”);

      cad_furos_jcb_amost_normal.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Sim”, “Não” }));

      jLabel16.setText(“Amostragem Urgente:”);

      cad_furos_jcb_amost_urgente.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Sim”, “Não” }));

      jLabel17.setText(“Furo Arquivado no Pátio:”);

      cad_furos_jcb_furo_arquiv_patio.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Sim”, “Não” }));

      javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
      jPanel1.setLayout(jPanel1Layout);
      jPanel1Layout.setHorizontalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel1Layout.createSequentialGroup()
      .addContainerGap()
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel1Layout.createSequentialGroup()
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
      .addComponent(cad_furos_jcb_conf_metragem, javax.swing.GroupLayout.Alignment.LEADING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addComponent(jLabel5, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGap(18, 18, 18)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
      .addComponent(cad_furos_jcb_orien_testemunho, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addComponent(jLabel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGap(18, 18, 18)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(cad_furos_jcb_marc_metro_metro, javax.swing.GroupLayout.PREFERRED_SIZE, 119, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(jLabel7, javax.swing.GroupLayout.DEFAULT_SIZE, 166, Short.MAX_VALUE))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(jLabel9, javax.swing.GroupLayout.PREFERRED_SIZE, 79, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(cad_furos_jcb_leitura_sus, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(27, 27, 27)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(jLabel10)
      .addComponent(cad_furos_jcb_leitura_rqd, javax.swing.GroupLayout.PREFERRED_SIZE, 88, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(72, 72, 72)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(jLabel11, javax.swing.GroupLayout.DEFAULT_SIZE, 313, Short.MAX_VALUE)
      .addComponent(cad_furos_jcb_desc_geologia, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addContainerGap())
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
      .addComponent(cad_furos_jcb_tran_testem_calha, javax.swing.GroupLayout.Alignment.LEADING, 0, 202, Short.MAX_VALUE)
      .addComponent(jLabel12, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGap(18, 18, 18)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(cad_furos_jcb_calhas_etiquetas, 0, 96, Short.MAX_VALUE)
      .addComponent(jLabel13, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGap(18, 18, 18)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(cad_furos_jcb_testem_serrar, 0, 105, Short.MAX_VALUE)
      .addComponent(jLabel14, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGap(18, 18, 18)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(cad_furos_jcb_amost_normal, 0, 100, Short.MAX_VALUE)
      .addComponent(jLabel15, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGap(18, 18, 18)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(cad_furos_jcb_amost_urgente, 0, 106, Short.MAX_VALUE)
      .addComponent(jLabel16, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGap(18, 18, 18)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(cad_furos_jcb_furo_arquiv_patio, 0, 120, Short.MAX_VALUE)
      .addComponent(jLabel17, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGap(227, 227, 227))))
      );
      jPanel1Layout.setVerticalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel1Layout.createSequentialGroup()
      .addContainerGap()
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel5)
      .addComponent(jLabel6)
      .addComponent(jLabel7)
      .addComponent(jLabel11)
      .addComponent(jLabel9)
      .addComponent(jLabel10))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(cad_furos_jcb_conf_metragem, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(cad_furos_jcb_orien_testemunho, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(cad_furos_jcb_marc_metro_metro, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(cad_furos_jcb_desc_geologia, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(cad_furos_jcb_leitura_sus, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(cad_furos_jcb_leitura_rqd, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(26, 26, 26)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel12)
      .addComponent(jLabel13)
      .addComponent(jLabel14)
      .addComponent(jLabel15)
      .addComponent(jLabel16)
      .addComponent(jLabel17))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(cad_furos_jcb_tran_testem_calha, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(cad_furos_jcb_calhas_etiquetas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(cad_furos_jcb_testem_serrar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(cad_furos_jcb_amost_normal, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(cad_furos_jcb_amost_urgente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(cad_furos_jcb_furo_arquiv_patio, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      );

      jLabel3.setFont(new java.awt.Font(“Tahoma”, 0, 18));
      jLabel3.setText(“Etapas:”);

      jLabel4.setFont(new java.awt.Font(“Tahoma”, 0, 14));
      jLabel4.setText(“Obs.:”);

      cad_furos_jtf_obs.setColumns(20);
      cad_furos_jtf_obs.setRows(5);
      jScrollPane1.setViewportView(cad_furos_jtf_obs);

      jtable_cadastro_furos.setModel(new javax.swing.table.DefaultTableModel(
      new Object [][] {
      {null, null, null, null},
      {null, null, null, null},
      {null, null, null, null},
      {null, null, null, null},
      {null, null, null, null},
      {null, null, null, null},
      {null, null, null, null},
      {null, null, null, null},
      {null, null, null, null},
      {null, null, null, null}
      },
      new String [] {
      “Title 1”, “Title 2”, “Title 3”, “Title 4”
      }
      ));
      jScrollPane2.setViewportView(jtable_cadastro_furos);

      javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
      jPanel2.setLayout(jPanel2Layout);
      jPanel2Layout.setHorizontalGroup(
      jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel2Layout.createSequentialGroup()
      .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 895, Short.MAX_VALUE)
      .addContainerGap())
      );
      jPanel2Layout.setVerticalGroup(
      jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 166, javax.swing.GroupLayout.PREFERRED_SIZE)
      );

      cad_furos_jmb_novo.setIcon(new javax.swing.ImageIcon(“D:\Vinicius\Desenvolvimento\CGA\Ic\IC\agt_action_success.png”)); // NOI18N
      cad_furos_jmb_novo.setText(“Novo”);
      cad_furos_jmb_novo.addMouseListener(new java.awt.event.MouseAdapter() {
      public void mouseClicked(java.awt.event.MouseEvent evt) {
      cad_furos_jmb_novoMouseClicked(evt);
      }
      });
      jMenuBar1.add(cad_furos_jmb_novo);

      cad_furos_jmb_salvar.setIcon(new javax.swing.ImageIcon(“D:\Vinicius\Desenvolvimento\CGA\Ic\IC\fileexport.PNG”)); // NOI18N
      cad_furos_jmb_salvar.setText(“Salvar”);
      cad_furos_jmb_salvar.addMouseListener(new java.awt.event.MouseAdapter() {
      public void mouseClicked(java.awt.event.MouseEvent evt) {
      cad_furos_jmb_salvarMouseClicked(evt);
      }
      });
      jMenuBar1.add(cad_furos_jmb_salvar);

      cad_furos_jmb_editar.setIcon(new javax.swing.ImageIcon(“D:\Vinicius\Desenvolvimento\CGA\Ic\IC\agt_utilities.PNG”)); // NOI18N
      cad_furos_jmb_editar.setText(“Editar”);
      jMenuBar1.add(cad_furos_jmb_editar);

      cad_furos_jmb_salvar_alteracoes.setIcon(new javax.swing.ImageIcon(“D:\Vinicius\Desenvolvimento\CGA\Ic\IC\fileexport.PNG”)); // NOI18N
      cad_furos_jmb_salvar_alteracoes.setText(“Salvar Alterações”);
      cad_furos_jmb_salvar_alteracoes.addMouseListener(new java.awt.event.MouseAdapter() {
      public void mouseClicked(java.awt.event.MouseEvent evt) {
      cad_furos_jmb_salvar_alteracoesMouseClicked(evt);
      }
      });
      jMenuBar1.add(cad_furos_jmb_salvar_alteracoes);

      cad_furos_jmb_excluir.setIcon(new javax.swing.ImageIcon(“D:\Vinicius\Desenvolvimento\CGA\Ic\IC\button_cancel.png”)); // NOI18N
      cad_furos_jmb_excluir.setText(“Excluir”);
      jMenuBar1.add(cad_furos_jmb_excluir);

      cad_furos_jmb_sair.setIcon(new javax.swing.ImageIcon(“D:\Vinicius\Desenvolvimento\CGA\Ic\IC\agt_stop.PNG”)); // NOI18N
      cad_furos_jmb_sair.setText(“Sair”);
      cad_furos_jmb_sair.addMouseListener(new java.awt.event.MouseAdapter() {
      public void mouseClicked(java.awt.event.MouseEvent evt) {
      cad_furos_jmb_sairMouseClicked(evt);
      }
      });
      jMenuBar1.add(cad_furos_jmb_sair);

      setJMenuBar(jMenuBar1);

      javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
      getContentPane().setLayout(layout);
      layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
      .addContainerGap()
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
      .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
      .addComponent(jLabel1)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      .addComponent(cad_furos_jtf_nome_furo, javax.swing.GroupLayout.PREFERRED_SIZE, 233, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addGap(18, 18, 18)
      .addComponent(jLabel2)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(data1)
      .addGap(27, 27, 27)
      .addComponent(jLabel4))
      .addComponent(jLabel3))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(jScrollPane1))
      .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 886, javax.swing.GroupLayout.PREFERRED_SIZE)))
      .addContainerGap(165, Short.MAX_VALUE))
      );
      layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
      .addGap(29, 29, 29)
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel1)
      .addComponent(cad_furos_jtf_nome_furo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(jLabel2)
      .addComponent(data1)
      .addComponent(jLabel4))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 16, Short.MAX_VALUE)
      .addComponent(jLabel3))
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
      .addContainerGap()
      .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addGap(321, 321, 321))
      );

      pack();
      }//

private void cad_furos_jmb_sairMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
this.dispose();
}

private void cad_furos_jmb_salvarMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:

try{
    String sqlinsert = "insert into furos (desc_furo, data_furo, obs_furo, conf_metragem, orien_testemunho, marc_metro_metro, leit_sus, desc_rqd, desc_geologia, trans_testem_calha, calhas_etiquetadas, test_serrar, amost_normal, amost_urgente, furo_arq_patio) values ('"+cad_furos_jtf_nome_furo.getText()+"', '"+data1.getText()+"', '"+cad_furos_jtf_obs.getText()+"', '"+cad_furos_jcb_conf_metragem.getSelectedItem()+"', '"+cad_furos_jcb_orien_testemunho.getSelectedItem()+"', '"+cad_furos_jcb_marc_metro_metro.getSelectedItem()+"','" +
        cad_furos_jcb_leitura_sus.getSelectedItem()+"', '"+cad_furos_jcb_leitura_rqd.getSelectedItem()+"', '"+cad_furos_jcb_desc_geologia.getSelectedItem()+"', '"+cad_furos_jcb_tran_testem_calha.getSelectedItem()+"', '"+cad_furos_jcb_calhas_etiquetas.getSelectedItem()+"', '"+cad_furos_jcb_testem_serrar.getSelectedItem()+"', '"+cad_furos_jcb_amost_normal.getSelectedItem()+"', '"+cad_furos_jcb_amost_urgente.getSelectedItem()+"', '"+cad_furos_jcb_furo_arquiv_patio.getSelectedItem()+"')";
        con_cga.statement.executeUpdate(sqlinsert);
        JOptionPane.showMessageDialog(null, "DADOS GRAVADOS COM SUCESSO");
}
catch(Exception erro){
JOptionPane.showMessageDialog(null, "NÃO FOI POSSÍVEL GRAVAR OS DADOS "+erro);
}

}

private void cad_furos_jmb_salvar_alteracoesMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
}

private void cad_furos_jmb_novoMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
cad_furos_jtf_nome_furo.setEditable(true);
cad_furos_jtf_obs.setEditable(true);
cad_furos_jmb_salvar.setVisible(true);
cad_furos_jmb_novo.setVisible(false);
cad_furos_jmb_editar.setVisible(false);
cad_furos_jmb_excluir.setVisible(false);
cad_furos_jtf_nome_furo.setText("");
cad_furos_jtf_obs.setText("");
cad_furos_jtf_nome_furo.requestFocus();
cad_furos_jcb_conf_metragem.removeAllItems();
cad_furos_jcb_conf_metragem.addItem(“Sim”);
cad_furos_jcb_conf_metragem.addItem(“Não”);
cad_furos_jcb_orien_testemunho.removeAllItems();
cad_furos_jcb_orien_testemunho.addItem(“Sim”);
cad_furos_jcb_orien_testemunho.addItem(“Não”);
cad_furos_jcb_marc_metro_metro.removeAllItems();
cad_furos_jcb_marc_metro_metro.addItem(“Sim”);
cad_furos_jcb_marc_metro_metro.addItem(“Não”);
cad_furos_jcb_leitura_sus.removeAllItems();
cad_furos_jcb_leitura_sus.addItem(“Sim”);
cad_furos_jcb_leitura_sus.addItem(“Não”);
cad_furos_jcb_leitura_rqd.removeAllItems();
cad_furos_jcb_leitura_rqd.addItem(“Sim”);
cad_furos_jcb_leitura_rqd.addItem(“Não”);
cad_furos_jcb_desc_geologia.removeAllItems();
cad_furos_jcb_desc_geologia.addItem(“Sim”);
cad_furos_jcb_desc_geologia.addItem(“Não”);
cad_furos_jcb_tran_testem_calha.removeAllItems();
cad_furos_jcb_tran_testem_calha.addItem(“Sim”);
cad_furos_jcb_tran_testem_calha.addItem(“Não”);
cad_furos_jcb_calhas_etiquetas.removeAllItems();
cad_furos_jcb_calhas_etiquetas.addItem(“Sim”);
cad_furos_jcb_calhas_etiquetas.addItem(“Não”);
cad_furos_jcb_testem_serrar.removeAllItems();
cad_furos_jcb_testem_serrar.addItem(“Sim”);
cad_furos_jcb_testem_serrar.addItem(“Não”);
cad_furos_jcb_amost_normal.removeAllItems();
cad_furos_jcb_amost_normal.addItem(“Sim”);
cad_furos_jcb_amost_normal.addItem(“Não”);
cad_furos_jcb_amost_urgente.removeAllItems();
cad_furos_jcb_amost_urgente.addItem(“Sim”);
cad_furos_jcb_amost_urgente.addItem(“Não”);
cad_furos_jcb_furo_arquiv_patio.removeAllItems();
cad_furos_jcb_furo_arquiv_patio.addItem(“Sim”);
cad_furos_jcb_furo_arquiv_patio.addItem(“Não”);

}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new cadastro_furos().setVisible(true);
        }
    });
}

// Variables declaration - do not modify
private javax.swing.JComboBox cad_furos_jcb_amost_normal;
private javax.swing.JComboBox cad_furos_jcb_amost_urgente;
private javax.swing.JComboBox cad_furos_jcb_calhas_etiquetas;
private javax.swing.JComboBox cad_furos_jcb_conf_metragem;
private javax.swing.JComboBox cad_furos_jcb_desc_geologia;
private javax.swing.JComboBox cad_furos_jcb_furo_arquiv_patio;
private javax.swing.JComboBox cad_furos_jcb_leitura_rqd;
private javax.swing.JComboBox cad_furos_jcb_leitura_sus;
private javax.swing.JComboBox cad_furos_jcb_marc_metro_metro;
private javax.swing.JComboBox cad_furos_jcb_orien_testemunho;
private javax.swing.JComboBox cad_furos_jcb_testem_serrar;
private javax.swing.JComboBox cad_furos_jcb_tran_testem_calha;
private javax.swing.JMenu cad_furos_jmb_editar;
private javax.swing.JMenu cad_furos_jmb_excluir;
private javax.swing.JMenu cad_furos_jmb_novo;
private javax.swing.JMenu cad_furos_jmb_sair;
private javax.swing.JMenu cad_furos_jmb_salvar;
private javax.swing.JMenu cad_furos_jmb_salvar_alteracoes;
private javax.swing.JTextField cad_furos_jtf_nome_furo;
private javax.swing.JTextArea cad_furos_jtf_obs;
private javax.swing.JLabel data1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel15;
private javax.swing.JLabel jLabel16;
private javax.swing.JLabel jLabel17;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel9;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTable jtable_cadastro_furos;
// End of variables declaration

}[/code]

Classe de Conexão:

[code]package cga;
import java.sql.;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.
;
public class conexao{
final private String driver = “org.postgresql.Driver”;
//Efetua a Conexão com o Banco
final private String url = “jdbc:postgresql://172.19.32.19:5432/cga”;
final private String usuario = “postgres”;
final private String senha = “AGsg2008”;
private Connection conexao;
//Responsável por abrir o caminho até o Banco de Dados
public Statement statement;
//Armazena os Dados do Banco
public ResultSet resultset;

//Classe Conecta
public boolean conecta () {
    boolean result = true;
    try {
        Class.forName(driver);
        try {
            conexao = DriverManager.getConnection(url, usuario, senha);
            System.out.println("Conectou");
        } catch (SQLException ex) {
            Logger.getLogger(conexao.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    catch(ClassNotFoundException Drive) {
        JOptionPane.showMessageDialog(null, "Não foi Possível Conectar a Base de Dados.");
        result = false;
    
    }
    return result;
}
//Classe Desconecta
public void desconecta (){
    boolean result = (true);
    try{
        conexao.close();
    }
            catch (SQLException erroSQL){
                result =false;
            }
}
//Conecta Sql
public void execultesql(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 possível executar o comando SQL"+sqlex);
    }
}

public void executesql(String string) {
    throw new UnsupportedOperationException("Not yet implemented");
}

}[/code]

Oba,

Posta o erro e o momento em que ocorre. Por favor.

[]s

Oba,

Dei uma olhada, você continua usando o executeQuery, para tentar inserir informações na tabela. Esse metodo tem função de consulta, e não de inserir/atualizar/deletar informações.

[]s

E aii alguma ideia???

No aguardo…!!!

T+

Muito estranho isso, tenho um monte de projetos e nunca ocorreu esse erro, o erro ainda persiste e eu não sei o que fazer!!!

Erro: java.lang.NullPointerException

Uso o netbeans como ide e o postgre como banco, e minhas classes de conexão e a que está dando erro estão ai logo acima!!!

Help!!!

Helpppp!!!

:cry:

java.lang.nullpointerexception esta querendo dizer que ele esta apontando para um objketo que não existe, faz o seguinte, na classe de conexão vc esta chamando o metodo conectar, transforma ele em uma contrutor da classe Conexão que vai funcionar!! Tenta ae e depois me fala!! ABS

NOM eu fiz o seguinte printei o meu statement ele está iniciando como null…

Como posso fazer com que ele deixe de ser null???

As classes estão logo acima aii, dê uma olhada!!!

O jeito correto de fazer é o seguinte.

  1. Abra uma conexão;
  2. Crie um PreparedStatement (não um Statement) para executar sua consulta;
  3. Defina os parâmetros para esse PreparedStatement;
  4. Rode o Statement.
  5. Use os dados;
  6. Feche o resultset (se houver);
  7. Feche o statement;
  8. Feche a conexão.

Ou seja, você não reaproveita statements, e não mantém eles abertos. Ferir essa regra gera vazamento de memória e logo seu programa estourará por falta de memória. Idealmente, os passos 6, 7 e 8 são feitos dentro de um finally.

Só uma observação, os passos 1 e 8 são lentos, por isso, delega-se essas tarefas para um pool de conexão. Você pode baixar o jakarta DBCP ou o C3P0 para fazer esse trabalho.

O protótipo de um método que faça isso fica assim:

[code]
Connection con = null;
PreparedStatement stmt = null;

try {
conn = getConnection(); //1. Abra a conexão
//2. Obtenha um statement
stmt = conn.prepareStatement(“SELECT * FROM Alunos WHERE idAluno=?”);
//3. Preencha os parâmetros, nesse caso, o id do aluno
stmt.setInt(1, aluno.getId());
//4. Rode a consulta
ResultSet rs = stmt.executeQuery(); //Use executeUpdate() se for um INSERT, UPDATE ou REMOVE
//5. Use os dados
if (rs.next()) {
return criarAluno(rs);
}
} finally {
//6. Feche tudo
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) closeConnection(); //retona para o pool
}[/code]

Tudo isso vai em torno de um outro try…catch, que testa pela SQLException e a dispara como RuntimeException, se um problema ocorrer.

Ou use uma biblioteca como o Spring, que controla todo esse ciclo para você.

Chará é o seguinte ainda não tentei aqui, mais só pra tirar uma dúvida tenho que sempre fechar o resultset, o statement e a conexão a cada fim de insert ou qualquer conexão que usa com o banco???

T++ vou tentar aqui pra v o que dáá???

Sim, tem sempre que fechar. Sempre mesmo.
A conexão é a única que ficará aberta por mais tempo, caso você tenha um pool de conexões (recomendo fortemente que vc use um). Mas ainda assim, será necessário colocar o código para fecha-la, pois isso a devolverá para o pool.