Erro no insert into SQLite

Bom dia a todos, como eu disse nas postagem anteriores estou voltando ao mundo Java e vão aparecendo algumas dificuldades etc.

estou tentando gravar em um formulário algumas informações só que está dando esse seguinte erro conforme abaixo…

Segue o erro e código:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at br.com.cadastro.Metas.FrmMetas.btnGravaActionPerformed(FrmMetas.java:235)
	at br.com.cadastro.Metas.FrmMetas.access$1100(FrmMetas.java:26)
	at br.com.cadastro.Metas.FrmMetas$7.actionPerformed(FrmMetas.java:187)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
	at java.awt.Component.processMouseEvent(Component.java:6533)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6298)
	at java.awt.Container.processEvent(Container.java:2236)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2294)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
	at java.awt.Container.dispatchEventImpl(Container.java:2280)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.awt.EventQueue$4.run(EventQueue.java:729)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:184)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:229)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:227)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:227)
	at java.awt.Dialog.show(Dialog.java:1084)
	at java.awt.Component.show(Component.java:1671)
	at java.awt.Component.setVisible(Component.java:1623)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at br.com.cadastro.principal.FrmPrincipal.btnMetasActionPerformed(FrmPrincipal.java:485)
	at br.com.cadastro.principal.FrmPrincipal.access$200(FrmPrincipal.java:35)
	at br.com.cadastro.principal.FrmPrincipal$3.actionPerformed(FrmPrincipal.java:149)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
	at java.awt.Component.processMouseEvent(Component.java:6533)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6298)
	at java.awt.Container.processEvent(Container.java:2236)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2294)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
	at java.awt.Container.dispatchEventImpl(Container.java:2280)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.awt.EventQueue$4.run(EventQueue.java:729)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
package br.com.bd.conexao;

import br.com.cadastro.Metas.Metas;
import java.sql.*;
import java.lang.*;
import javax.swing.*;

public class BdConexaoDAO {
	
	private Connection cn;

	public PreparedStatement st;
	public Statement statement;
	public ResultSet resultset;

	public void abreConexao() {
		String conexao = ("jdbc:sqlite:C://DRIMONEY/BDDADOS/DRIMONEY.db");

		try {
			Class.forName("org.sqlite.JDBC");
			cn = DriverManager.getConnection(conexao);
		} catch (ClassNotFoundException ex) {
			JOptionPane.showMessageDialog(null,
				"Erro ao tentar conectar o banco de dados", 
				"Erro", JOptionPane.ERROR_MESSAGE);
			System.exit(0);
		} catch(SQLException ex) {
			JOptionPane.showMessageDialog(null, 
				"Problemas com a conexão", "Erro",
				JOptionPane.ERROR_MESSAGE);
		}
	}

	public void fechaConexao() {
		try {
			cn.close();
			st.close();
		} catch (SQLException e) {
			JOptionPane.showMessageDialog(null, "Erro ao tentar fechar o banco de dados");
		}
	}

	public void executeSQL(String sql) {
		try {
			statement = cn.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
			resultset = statement.executeQuery(sql);
		} catch (SQLException sqlex) {
			JOptionPane.showMessageDialog(null,
				"Não foi possível " + "executar o comando sql," + sqlex + ", o sql passado foi " + sql);
		}
	}
}
boolean tudoOk;
tudoOk = ValidaCampos();

if (!tudoOk == true) {
    try {
        String sqlinsert = " insert into tbMetas " + 
            "(Categoria, Mes, Ano, Valor)values ('" + 
            cboCategoria.getSelectedItem()+"','" + 
            dtaMes + "','" + dtaAno +"','" + txtValor.getText();

            con_Metas.statement.executeUpdate(sqlinsert);

            JOptionPane.showMessageDialog(null, "Gravação realizado com sucesso!"); 
            //con_Metas.executeSQL("Select * from tbMetas  order by "+ordenacao);
            con_Metas.resultset.next();
    } catch (SQLException erro) {
        JOptionPane.showMessageDialog(null, "Erro a tentar Gravar o registro..." + erro);
    }
}
}

O que tem na linha 235 da classe FrmMetas?
Posta o código da classe e destaque essa linha.

É aqui na hora de executar

con_Metas.statement.executeUpdate(sqlinsert)

con_Metas ou statement podem estar null. Até mesmo sqlinsert

Posta o código da classe para ver melhor.

O código da conexão e do insert estão acima :point_up::point_up:

con_Metas é uma classe?

Esse é o codigo completo

package br.com.cadastro.Metas;

import br.com.bd.conexao.BdConexaoDAO;
import java.awt.AWTKeyStroke;
import java.awt.Color;
import java.awt.KeyboardFocusManager;
import java.awt.event.ActionEvent;
import java.awt.event.FocusEvent;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.sql.SQLException;
import java.util.HashSet;
import javax.swing.JFrame;
import javax.swing.JDialog;
import javax.swing.JOptionPane;

/**
 *
 * @author Adailton
 */
public class FrmMetas extends javax.swing.JDialog {

    
    BdConexaoDAO con_Metas;
    //String ordenacao = "IdMetas";
    /**
     * Creates new form FrmMetas
     */
    public FrmMetas(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        
        setResizable(false);
        setLocationRelativeTo(null);
        getContentPane().setBackground(new Color (0,153,153));  
                
        HashSet conj = new HashSet(this.getFocusTraversalKeys
                (KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS));
        conj.add(AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_ENTER, 0));
        this.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, conj);
       
        con_Metas = new BdConexaoDAO();
        con_Metas.abreConexao();
    
    }

    private FrmMetas() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    /**
     * 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() {

        jPanelMetas = new javax.swing.JPanel();
        lblCategoria = new javax.swing.JLabel();
        cboCategoria = new javax.swing.JComboBox<>();
        lblAno = new javax.swing.JLabel();
        dtaMes = new com.toedter.calendar.JMonthChooser();
        dtaAno = new com.toedter.calendar.JYearChooser();
        lblMes = new javax.swing.JLabel();
        txtValor = new javax.swing.JFormattedTextField();
        lblValor = new javax.swing.JLabel();
        txtCodigo = new javax.swing.JTextField();
        lblCodigo = new javax.swing.JLabel();
        lblValidaValor = new javax.swing.JLabel();
        btnGrava = new javax.swing.JButton();
        btnSair = new javax.swing.JButton();
        btnEditar = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Metas");
        setBackground(new java.awt.Color(0, 153, 153));
        setMinimumSize(new java.awt.Dimension(332, 365));
        setSize(new java.awt.Dimension(332, 365));
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jPanelMetas.setBackground(new java.awt.Color(0, 153, 153));
        jPanelMetas.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Metas", javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11))); // NOI18N
        jPanelMetas.setForeground(new java.awt.Color(0, 153, 153));
        jPanelMetas.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        lblCategoria.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        lblCategoria.setText("Categoria:");
        jPanelMetas.add(lblCategoria, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 70, 60, -1));

        cboCategoria.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Total Líquido" }));
        cboCategoria.setSelectedIndex(-1);
        cboCategoria.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        cboCategoria.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                cboCategoriaFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                cboCategoriaFocusLost(evt);
            }
        });
        jPanelMetas.add(cboCategoria, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 90, 260, 20));

        lblAno.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        lblAno.setText("Ano:");
        jPanelMetas.add(lblAno, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 170, 60, -1));

        dtaMes.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        dtaMes.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                dtaMesFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                dtaMesFocusLost(evt);
            }
        });
        jPanelMetas.add(dtaMes, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 140, 90, 22));

        dtaAno.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        dtaAno.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                dtaAnoFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                dtaAnoFocusLost(evt);
            }
        });
        jPanelMetas.add(dtaAno, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 190, 110, 20));

        lblMes.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        lblMes.setText("Mês:");
        jPanelMetas.add(lblMes, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 120, 60, -1));

        txtValor.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        txtValor.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter(new java.text.DecimalFormat("#,###.00"))));
        txtValor.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                txtValorFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                txtValorFocusLost(evt);
            }
        });
        txtValor.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtValorKeyTyped(evt);
            }
        });
        jPanelMetas.add(txtValor, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 236, 110, 20));

        lblValor.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        lblValor.setText("Valor:");
        jPanelMetas.add(lblValor, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 220, 100, -1));

        txtCodigo.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        txtCodigo.setEnabled(false);
        jPanelMetas.add(txtCodigo, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 40, 60, 20));

        lblCodigo.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        lblCodigo.setText("Código:");
        jPanelMetas.add(lblCodigo, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 20, -1, -1));

        lblValidaValor.setText("jLabel1");
        jPanelMetas.add(lblValidaValor, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 234, 100, 20));

        getContentPane().add(jPanelMetas, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 0, 310, 280));

        btnGrava.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        btnGrava.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Icones/ok_16x16.gif"))); // NOI18N
        btnGrava.setText("Gravar");
        btnGrava.setToolTipText("Gravar Metas");
        btnGrava.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnGrava.setVerticalAlignment(javax.swing.SwingConstants.TOP);
        btnGrava.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnGrava.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                btnGravaMouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                btnGravaMouseExited(evt);
            }
        });
        btnGrava.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnGravaActionPerformed(evt);
            }
        });
        getContentPane().add(btnGrava, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 285, 100, 45));

        btnSair.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        btnSair.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Icones/disconnect1_16x16.gif"))); // NOI18N
        btnSair.setText("Sair");
        btnSair.setToolTipText("Sair");
        btnSair.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnSair.setPreferredSize(new java.awt.Dimension(65, 23));
        btnSair.setVerticalAlignment(javax.swing.SwingConstants.TOP);
        btnSair.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnSair.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSairActionPerformed(evt);
            }
        });
        getContentPane().add(btnSair, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 285, 100, 45));

        btnEditar.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        btnEditar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Icones/edit_16x16.gif"))); // NOI18N
        btnEditar.setText("Editar");
        btnEditar.setToolTipText("Editar Metas");
        btnEditar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnEditar.setVerticalAlignment(javax.swing.SwingConstants.TOP);
        btnEditar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        getContentPane().add(btnEditar, new org.netbeans.lib.awtextra.AbsoluteConstraints(115, 285, 100, 45));

        pack();
    }// </editor-fold>                        

    private void btnGravaActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        
        boolean tudoOk;
        tudoOk = ValidaCampos();
           
        if (!tudoOk == true){
        try
        {           
            String sqlinsert = " INSERT INTO tbMetas "
                    + "(Categoria, Mes, Ano, Valor) VALUES ('"+
                    cboCategoria.getSelectedItem()+"','"+
                    dtaMes +"','"+
                    dtaAno +"','"+ 
                    txtValor.getText()+ "')";                    
                               
                    con_Metas.statement.executeUpdate(sqlinsert);
                    JOptionPane.showMessageDialog(null,
                            "Gravação realizado com sucesso!"); 
                    //con_Metas.executeSQL("Select * from tbMetas  order by "+ordenacao);
                    con_Metas.resultset.next();
                    
                                
        }
            
            catch (SQLException erro){                
                JOptionPane.showMessageDialog
                        (null,"Erro a tentar Gravar o registro..."+erro);
            
            }        
                                
        
        }
        
        con_Metas.fechaConexao();
    }

Mostra esse método

public void fechaConexao(){
		
	try {
		cn.close();
		st.close();
	}
	catch (SQLException e) {
		
		JOptionPane.showMessageDialog(null, 
                            "Erro ao tentar fechar o banco de dados");
	}    
    }

Esse statement parece que está null. Crie ele com o createStatement antes de usar.

Ainda continua…

Mostre a alteração que você fez.

Bom dia, Amigão me desculpa, fiquei ausente mais resolvi sim obrigado…