Boa noite caros,
meu programa esta dando erro,não esta realizando a busca, já consigo inserir de boa
codigo do botao BUSCAR:
private void btBuscarActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource()==btBuscar){
setCampos(true,true,true,true,true,true,true,true);
Vector<Produto> resultado = daoProduto.buscar(tfCodigo.getText());
for (Iterator<Produto> iterator = resultado.iterator(); iterator // o erro esta mostrando está linha.
.hasNext();) {
Produto p = iterator.next();
tfCodigo.setText(p.getCodigo());
tfGrupo.setText(p.getGrupo());
tfProduto.setText(p.getProduto());
tfCompra.setText(p.getDataCompra());
tfEstoque.setText(p.getEstoque());
tfCusto.setText(p.getCusto());
tfVenda.setText(p.getVenda());
tfValidade.setText(p.getValidade());
}
}
}
Codigo da classe DaoProduto
package dao;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import javax.swing.JOptionPane;
import model.Produto;
import dao.banco.ConFactory;
public class DaoProduto {
// Configura essas variáveis de acordo com o seu banco
private final String URL = "jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:/meubd/banco.mdb",
NOME = "", SENHA = "";
private Connection con;
private Statement comando;
public void apagar(String codigo) {
conectar();
try {
comando
.executeUpdate("DELETE FROM produto WHERE codigo = '" + codigo
+ "';");
} catch (SQLException e) {
imprimeErro("Erro ao apagar Produto", e.getMessage());
} finally {
fechar();
}
}
public Vector<Produto> buscarTodos() {
conectar();
Vector<Produto> resultados = new Vector<Produto>();
ResultSet rs;
try {
rs = comando.executeQuery("SELECT * FROM produto");
while (rs.next()) {
Produto temp = new Produto();
// pega todos os atributos da pessoa
temp.setCodigo(rs.getString("codigo"));
temp.setGrupo(rs.getString("grupo"));
temp.setProduto(rs.getString("produto"));
temp.setDataCompra(rs.getString("datacompra"));
temp.setEstoque(rs.getString("estoque"));
temp.setCusto(rs.getString("custo"));
temp.setVenda(rs.getString("venda"));
temp.setValidade(rs.getString("validade"));
resultados.add(temp);
}
return resultados;
} catch (SQLException e) {
imprimeErro("Erro ao buscar Produto", e.getMessage());
return null;
}
}
public void atualizar(Produto produto) {
conectar();
String com = "UPDATE produto SET grupo = '" + produto.getGrupo()
+ "', produto =" + produto.getProduto()
+ ", datacompra = '" + produto.getDataCompra()
+ "', estoque ='" +produto.getEstoque()
+ "', custo ='" +produto.getCusto()
+ "', venda ='" +produto.getVenda()
+ "', validade ='" +produto.getValidade()
+ "' WHERE codigo = '" + produto.getCodigo()
+ "';";
System.out.println("Atualizada!");
try {
comando.executeUpdate(com);
} catch (SQLException e) {
e.printStackTrace();
} finally {
fechar();
}
}
public Vector<Produto> buscar(String codigo) {
conectar();
Vector<Produto> resultados = new Vector<Produto>();
ResultSet rs;
try {
rs = comando.executeQuery("SELECT * FROM produto WHERE codigo LIKE '"
+ codigo + "%';");
while (rs.next()) {
Produto temp = new Produto();
// pega todos os atributos da pessoa
temp.setCodigo(rs.getString("codigo"));
temp.setGrupo(rs.getString("grupo"));
temp.setProduto(rs.getString("produto"));
temp.setDataCompra(rs.getString("datacompra"));
temp.setEstoque(rs.getString("estoque"));
temp.setCusto(rs.getString("custo"));
temp.setVenda(rs.getString("venda"));
temp.setValidade(rs.getString("validade"));
resultados.add(temp);
}
return resultados;
} catch (SQLException e) {
imprimeErro("Erro ao buscar Produto", e.getMessage());
return null;
}
}
public void insere(Produto produto){
conectar();
try {
comando.executeUpdate("INSERT INTO Produto VALUES('"
+ produto.getCodigo() + "','"
+ produto.getGrupo() + "','"
+ produto.getProduto() + "','"
+ produto.getDataCompra() + "','"
+ produto.getEstoque() + "','"
+ produto.getCusto() + "','"
+ produto.getVenda() + "','"
+ produto.getValidade() + "')");
JOptionPane.showMessageDialog(null,"Operação realizada com sucesso!");
} catch (SQLException e) {
imprimeErro("Problemas na operação, verifique se você digitou os campos corretamente!", e.getMessage());
} finally {
fechar();
}
}
private void conectar() {
try {
con = ConFactory.conexao(URL, NOME, SENHA, ConFactory.MYSQL);
comando = con.createStatement();
System.out.println("Conectado!");
} catch (ClassNotFoundException e) {
imprimeErro("Erro ao carregar o driver", e.getMessage());
} catch (SQLException e) {
imprimeErro("Erro ao conectar", e.getMessage());
}
}
private void fechar() {
try {
comando.close();
con.close();
System.out.println("Conexão Fechada");
} catch (SQLException e) {
imprimeErro("Erro ao fechar conexão", e.getMessage());
}
}
private void imprimeErro(String msg, String msgErro) {
JOptionPane.showMessageDialog(null, msg, "Erro crÃtico", 0);
System.err.println(msg);
System.out.println(msgErro);
}
}
Erro que está aparecendo:
Conectado!
Erro ao buscar Produto
Column not found
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at TelaProduto.btBuscarActionPerformed(TelaProduto.java:242)
at TelaProduto.access$200(TelaProduto.java:7)
at TelaProduto$3.actionPerformed(TelaProduto.java:82)
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:6267)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6032)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
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)