Ir ao conteúdo

Erro ao acessar banco de dados Access


Augusto de Paula

Posts recomendados

Postado

Olá galera, estou iniciando em Java e estou com um probleminha. Quero montar uma tela de cadastro simples interligando com o Access, colocando eventos nos botões de Inserir, Alterar e outros. Mas meu sistema dá erro na Statement e não executa o evento quando clico no botão. HELP!

Código

package BD;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.*;

import javax.swing.*;

public class BotaoPainel extends JPanel{

private static final long serialVersionUID = 1L;

/**

* @param args

*/

JButton btnConsultar,btnAdicionar,btnAlterar,btnLimpar,btnApagar;

private MontaTela campos;

private JTextArea saida;

private Connection conecta;

public BotaoPainel(Connection c, MontaTela s, JTextArea t){

setLayout(new GridLayout(1,5));

btnAdicionar = new JButton("Adicionar");

btnAdicionar.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent evt){

try{

Statement executaSQL = conecta.createStatement();

if (!campos.tfData.getText().equals("") && !campos.tfNome.getText().equals("")){

String query = "INSERT INTO Clientes(Data,Nome,RG,CPF,Endereço,Cidade,UF,CEP,Sexo)"+

" VALUES ('"+campos.tfCodigo.getText()+"','"+campos.tfData.getText()+"','"+campos.tfNome.getText()+

"','"+campos.tfRg.getText()+"','"+campos.tfCpf.getText()+"','"+campos.tfEndereco.getText()+

"','"+campos.tfCidade.getText()+"','"+campos.tfUf.getText()+"','"+campos.tfCep.getText()+

"','"+campos.rbMasculino.getText()+"','"+campos.rbFeminino.getText()+"')";

int result = executaSQL.executeUpdate(query);

if (result == 1){

saida.append("Inserido com sucesso! \n");

campos.tfData.setText("");

campos.tfNome.setText("");

campos.tfRg.setText("");

campos.tfCpf.setText("");

campos.tfEndereco.setText("");

campos.tfCidade.setText("");

campos.tfUf.setText("");

campos.tfCep.setText("");

campos.rbMasculino.setVisible(true);

campos.rbFeminino.setVisible(true);

}

else{

saida.append("Erro na inclusão! \n");

}

}

else

JOptionPane.showMessageDialog(null, "PREENCHA OS CAMPOS","Atenção",JOptionPane.ERROR_MESSAGE);

executaSQL.close();

}

catch(SQLException sqlex){

sqlex.printStackTrace();

saida.append(sqlex.toString());

}

}

});

add(btnAdicionar);

btnConsultar = new JButton("Consultar");

add(btnConsultar);

btnAlterar = new JButton("Alterar");

add(btnAlterar);

btnApagar = new JButton("Apagar");

add(btnApagar);

btnLimpar = new JButton("Limpar");

add(btnLimpar);

}

}

package BD;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.*;

import javax.swing.*;

public class BotaoPainel extends JPanel{

private static final long serialVersionUID = 1L;

/**

* @param args

*/

JButton btnConsultar,btnAdicionar,btnAlterar,btnLimpar,btnApagar;

private MontaTela campos;

private JTextArea saida;

private Connection conecta;

public BotaoPainel(Connection c, MontaTela s, JTextArea t){

setLayout(new GridLayout(1,5));

btnAdicionar = new JButton("Adicionar");

btnAdicionar.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent evt){

try{

Statement executaSQL = conecta.createStatement();

if (!campos.tfData.getText().equals("") && !campos.tfNome.getText().equals("")){

String query = "INSERT INTO Clientes(Data,Nome,RG,CPF,Endereço,Cidade,UF,CEP,Sexo)"+

" VALUES ('"+campos.tfCodigo.getText()+"','"+campos.tfData.getText()+"','"+campos.tfNome.getText()+

"','"+campos.tfRg.getText()+"','"+campos.tfCpf.getText()+"','"+campos.tfEndereco.getText()+

"','"+campos.tfCidade.getText()+"','"+campos.tfUf.getText()+"','"+campos.tfCep.getText()+

"','"+campos.rbMasculino.getText()+"','"+campos.rbFeminino.getText()+"')";

int result = executaSQL.executeUpdate(query);

if (result == 1){

saida.append("Inserido com sucesso! \n");

campos.tfData.setText("");

campos.tfNome.setText("");

campos.tfRg.setText("");

campos.tfCpf.setText("");

campos.tfEndereco.setText("");

campos.tfCidade.setText("");

campos.tfUf.setText("");

campos.tfCep.setText("");

campos.rbMasculino.setVisible(true);

campos.rbFeminino.setVisible(true);

}

else{

saida.append("Erro na inclusão! \n");

}

}

else

JOptionPane.showMessageDialog(null, "PREENCHA OS CAMPOS","Atenção",JOptionPane.ERROR_MESSAGE);

executaSQL.close();

}

catch(SQLException sqlex){

sqlex.printStackTrace();

saida.append(sqlex.toString());

}

}

});

add(btnAdicionar);

btnConsultar = new JButton("Consultar");

add(btnConsultar);

btnAlterar = new JButton("Alterar");

add(btnAlterar);

btnApagar = new JButton("Apagar");

add(btnApagar);

btnLimpar = new JButton("Limpar");

add(btnLimpar);

}

}

Erro:

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

at BD.BotaoPainel$1.actionPerformed(BotaoPainel.java:35)

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

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:231

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:6289)

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

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

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

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

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

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

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

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:423

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:416

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

at java.awt.Window.dispatchEventImpl(Window.java:247

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

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)

at java.awt.EventQueue.access$000(EventQueue.java:85)

at java.awt.EventQueue$1.run(EventQueue.java:603)

at java.awt.EventQueue$1.run(EventQueue.java:601)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:9

at java.awt.EventQueue$2.run(EventQueue.java:617)

at java.awt.EventQueue$2.run(EventQueue.java:615)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)

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

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)

Postado

Dê uma olhada se todos os campos estão preenchidos. Ele está dando erro na linha '35' de ponteiro nulo. Ou seja. Você está tentando acessar algo que não existe. Normalmente isso acontece quando uma variável não é instânciada.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!