Boa noite pessoal,
Estou a horas tentando efetuar uma inserção em um banco access porém não sei o que está acontecendo de errado.
Criei um banco chamado bancojava.mdb e que possui uma tabela chamada registro.
No código existe duas classes uma conexao para efetuar conexao, inserir conteúdo e finalizar conexao, e outra que é o formulário.
Terminei o código e o java não me retornou erro algum, porém quando executei a aplicação e inseri a informações nos campos dos formulários e cliquei no botão, o código não fez nada, e na saida do compilador me retornou fárias respostas em vermelho que não sei se são erros ou alertas.
estou enviando o codigo e o erro segue.
erro:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at gerenciadortarefas.conexao.inserir(conexao.java:54)
at gerenciadortarefas.formulario.jButton1ActionPerformed(formulario.java:116)
at gerenciadortarefas.formulario.access$000(formulario.java:17)
at gerenciadortarefas.formulario$1.actionPerformed(formulario.java:59)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
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.Component.processMouseEvent(Component.java:6504)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6269)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4860)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2713)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:680)
at java.awt.EventQueue$4.run(EventQueue.java:678)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
código conexao
package gerenciadortarefas;
import java.sql.*;
import javax.swing.JOptionPane;
/**
*
* @author Black Phoenix
*/
public class conexao {
Connection conexao;
Statement instrucao;
public void conectar(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conexao = DriverManager.getConnection("Jdbc:Odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=c:/xampp/htdocs/bancojava/bancojava.mdb");
}catch(Exception e){
System.out.println("ERRO na Conexao com o Banco de Dados"+e.toString());
}
}
public void desconectar(){
try{
conexao.close();
}catch(SQLException sqle){
JOptionPane.showMessageDialog(null, "Problema ao desconectar!");
System.exit(0);
}
}
public void inserir(String Cliente, int total_horas, int horas_usadas){
try
{
instrucao.execute("insert into registro (Cliente, obs, total_horas, horas_usadas) Values('"+Cliente+"', 'teste info', "+total_horas+", "+horas_usadas+" )");
JOptionPane.showMessageDialog(null, "Mensagem inserida com sucesso!");
}catch(SQLException e){
JOptionPane.showMessageDialog(null,"" + e.getMessage(),"Erro",0);
}
}
}
código formulário
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// Inseir o código aqui
conexao cn = new conexao();
cn.conectar();
cn.inserir(textField1.getText(), Integer.parseInt(textField2.getText()), Integer.parseInt(textField3.getText()));
cn.desconectar();
}