Conexao Standalone hsqldb

0 respostas
R

Ola pessoal gostaria de uma ajuda para min efetuar uma conecao em de um aplicativo desktop

bom é o seguinte fiz um formulario basico no netbens e adicionei o driver do hsqldb criei o conexao.java e efetuei a conexao conforme abaixo

package utilitarios;

import java.sql.<em>;

import javax.swing.</em>;
public class conexao
{
    final private String driver = "org.hsqldb.jdbcDriver";
    final private String url = "jdbc:hsqldb:file:C:/banco/bd";
    final private String usuario = "sa";
    final private String senha = "";
    private Connection conecta;
    public Statement statement;  
    public ResultSet resultset;

public boolean conecta()
{
     boolean result = true;
        try  
        {
             Class.forName(driver);
             conecta = DriverManager.getConnection(url, usuario, senha);
             JOptionPane.showMessageDialog(null, "Conectado");
        }
        catch (ClassNotFoundException Driver)
        {   
             JOptionPane.showMessageDialog(null, "Driver nao localizado: "+Driver);
             result = false;
        }
        catch(SQLException Fonte)
        {
            JOptionPane.showMessageDialog(null, "Deu erro na conecao com a fonte de dados "+Fonte);
            result = false;
        }
            return result;
}
     
     public void desconecta()
     {
         boolean result = true;
         try
         {
             conecta.close();
             JOptionPane.showMessageDialog(null, "Danco Fechado");
         }
         catch (SQLException erroSQL)
         {
             JOptionPane.showMessageDialog(null, "Nao foi possivel fechar o banco de dados"+erroSQL.getMessage());
             result = false;
         }
      
      }
     
     public void executaSQL(String sql)
     {
         try
         {
             statement = conecta.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
             resultset = statement.executeQuery(sql);
         }
         catch (SQLException sqlex)
         {
             JOptionPane.showMessageDialog(null, sqlex);
          
         }
         
     }

}

ate aqui td ok

ja no formulario esta assim

import java.sql.SQLException;

import javax.swing.JOptionPane;

import utilitarios.conexao;

public class Tela_Principal extends javax.swing.JFrame {
conexao con_banco;
public Tela_Principal() {
    initComponents();
    con_banco = new conexao();
    con_banco.conecta();
}
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">                          
private void initComponents() {
    jdbcDriver1 = new org.hsqldb.jdbcDriver();
    botao_salvar = new javax.swing.JButton();
    jLabel1 = new javax.swing.JLabel();
    tf_conteudo = new javax.swing.JTextField();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    botao_salvar.setText("jButton1");
    botao_salvar.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            botao_salvarActionPerformed(evt);
        }
    });

    jLabel1.setText("dados");

    tf_conteudo.setText("jTextField1");

    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()
            .addComponent(jLabel1)
            .addGap(16, 16, 16)
            .addComponent(tf_conteudo, javax.swing.GroupLayout.PREFERRED_SIZE, 204, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(19, 19, 19)
            .addComponent(botao_salvar)
            .addContainerGap(49, Short.MAX_VALUE))
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(20, 20, 20)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(tf_conteudo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(jLabel1)
                .addComponent(botao_salvar))
            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
    );
    pack();
}// </editor-fold>                        

private void botao_salvarActionPerformed(java.awt.event.ActionEvent evt) {
try

{

String sqlinsert = INSERT INTO TESTE (NOME) VALUES (’”+tf_conteudo.getText()+"’)";

con_banco.statement.executeUpdate(sqlinsert);

}

catch (SQLException erro)

{

JOptionPane.showMessageDialog(null, erro);

}

}
public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new Tela_Principal().setVisible(true);
        }
    });
}

// Variables declaration - do not modify                     
private javax.swing.JButton botao_salvar;
private javax.swing.JLabel jLabel1;
private org.hsqldb.jdbcDriver jdbcDriver1;
private javax.swing.JTextField tf_conteudo;
// End of variables declaration

}


ao executar o aplicativo aparece a mensagem conectado respondendo a conexao mais ao clicar no botaoo para incluir os dados na tabela da o seguinte erro

Exception in thread AWT-EventQueue-0 java.lang.NullPointerException

at Tela_Principal.botao_salvarActionPerformed(Tela_Principal.java:62)

at Tela_Principal.access$000(Tela_Principal.java:5)

at Tela_Principal$1.actionPerformed(Tela_Principal.java:24)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)

at java.awt.Component.processMouseEvent(Component.java:6038)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)

at java.awt.Component.processEvent(Component.java:5803)

at java.awt.Container.processEvent(Container.java:2058)

at java.awt.Component.dispatchEventImpl(Component.java:4410)

at java.awt.Container.dispatchEventImpl(Container.java:2116)

at java.awt.Component.dispatchEvent(Component.java:4240)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)

at java.awt.Container.dispatchEventImpl(Container.java:2102)

at java.awt.Window.dispatchEventImpl(Window.java:2429)

at java.awt.Component.dispatchEvent(Component.java:4240)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

<div class="lightbox-wrapper"><a class="lightbox" href="/uploads/3X/2/d/2d1a00a93f362b27c1c0b3980d3ad0f08402689c.jpg.webp" data-download-href="/uploads/default/2d1a00a93f362b27c1c0b3980d3ad0f08402689c" title="2007/6/12/d6dac8ec3cdbbbadbb21a588e608e1e7_25374.jpg"><img src="/uploads/3X/2/d/2d1a00a93f362b27c1c0b3980d3ad0f08402689c.jpg.webp" width="690" height="500" data-small-upload="/uploads/3X/2/d/2d1a00a93f362b27c1c0b3980d3ad0f08402689c.png.webp"><div class="meta">
<svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use xlink:href="#far-image"></use></svg>2007/6/12/d6dac8ec3cdbbbadbb21a588e608e1e7_25374.jpg908×610 84 KB<svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use xlink:href="#discourse-expand"></use></svg>
</div></a></div>
Criado 12 de junho de 2007
Respostas 0
Participantes 1