Erro em executequery java.lang.nullpointerexception (Resolvido)

26 respostas
viniciusgundim

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:

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");
    }
}

O sql:

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);
    }
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+...

26 Respostas

KaosBr

Bom dia,

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

[]s

viniciusgundim

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

KaosBr

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

[]s

viniciusgundim

Mais e ai o que fazer???

Espero que ajudem…

UMC
cara uma DICA faça SQL usando parâmetros facilita o entendimento depois e fica melhor para programar! EX:
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();
veja que o SQL eu uso o símbolo de interrogação "?"

no seu caso ajuda muito!
vlw

viniciusgundim

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

T++

KaosBr

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

[]s

viniciusgundim

Classe de Cadastro:

/*
 * 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")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    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();
    }// </editor-fold>

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

}

Classe de Conexão:

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");
    }
}
KaosBr

Oba,

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

[]s

KaosBr

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

viniciusgundim

E aii alguma ideia???

No aguardo…!!!

T+

viniciusgundim

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!!!

viniciusgundim

Helpppp!!!

:cry:

NOM

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

viniciusgundim

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!!!

ViniGodoy

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:

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
}

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

ViniGodoy

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

viniciusgundim

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áá???

ViniGodoy

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.

Vini_Fernandes

Cara, a primeira linha do codigo que pode lancar um NullPointer eh a seguinte:

statement = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);

Verifique se a variavel “conexao” esta nula, para isso faca:

System.out.println("Conexao: "+conexao);
statement = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);

T+

viniciusgundim

Fiz alterações que falaram mais nada adianta!!!

Nada o erro persiste, fico sem intender como que sempre usei o mesmo esquema de conexão e simplismente não funciona mais???

Por favor ajudemm…

viniciusgundim
System.out.println("Conexao: "+con_cga);

Conexao: cga.conexao@506411

viniciusgundim

Helpp!!

viniciusgundim

Gente ainda não consegui resolver o meu problema… Debuguei de outra forma agora vou mandar toda a saída!!!
sei que está na linha da conexão!!! Alguma coisa nula por láá

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at cga.cadastro_furos.cad_furos_jmb_salvarMouseClicked(cadastro_furos.java:449) at cga.cadastro_furos.access$100(cadastro_furos.java:21) at cga.cadastro_furos$2.mouseClicked(cadastro_furos.java:344) at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:252) at java.awt.Component.processMouseEvent(Component.java:6137) at javax.swing.JComponent.processMouseEvent(JComponent.java:3265) at java.awt.Component.processEvent(Component.java:5899) at java.awt.Container.processEvent(Container.java:2023) at java.awt.Component.dispatchEventImpl(Component.java:4501) at java.awt.Container.dispatchEventImpl(Container.java:2081) at java.awt.Component.dispatchEvent(Component.java:4331) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3974) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895) at java.awt.Container.dispatchEventImpl(Container.java:2067) at java.awt.Window.dispatchEventImpl(Window.java:2458) at java.awt.Component.dispatchEvent(Component.java:4331) 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)

NOM

Nas duas partes de código que vc mandou, uma delas tem o método execultesql e em outra parte do código vc o con_cga.statement.executeUpdate(sqlinsert);

Eu peguei sua classe de conexão e a classe que tem a logica e deu o mesmo erro que vc apresentou, eu fiz as seguintes modificações para funcionar:

1- Mude o método conecta que vc tinha colocado e fiz dela um contrutor da classe conexão
e fiz essas substituições nesse método:

public void execultesql(String sql){   
        try{   
               
            statement = conexao.createStatement();   
            statement.executeUpdate(sql);   
        }   
        catch (SQLException sqlex){   
            JOptionPane.showMessageDialog(null, "Não foi possível executar o comando SQL"+sqlex);   
        }   
    }

2 - na classe que vc esta usando a logia de negocios ao inves de vc usar

#    String sqlinsert = "seu insert";  
#           
#        con_cga.statement.executeUpdate(sqlinsert);  
#         JOptionPane.showMessageDialog(null, "DADOS GRAVADOS COM SUCESSO");;

Faz o seguinte:

Conexao con = new Conexao(); String sqlinsert = "seu insert"; con.execultesql(sqlinsert); JOptionPane.showMessageDialog(null, "DADOS GRAVADOS COM SUCESSO");

o que eu fiz fez o erro sumir e gravar no banco, depois fala ae se foi ou não

viniciusgundim

NOM, consegui resolver graças a Deus, fiz o que vc disse e funcionou perfeitamente!!!

T++, kra obrigadooo!!!

Criado 29 de junho de 2010
Ultima resposta 3 de jul. de 2010
Respostas 26
Participantes 6