2
I’m doing a college project where I can register, change, delete and consult a product. In the query part, I try to search for the ID. Only this error happens and I am not able to solve.
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Modelo.Dao.ProdutoDAO.getID(ProdutoDAO.java:75)
at org.me.projetopoo.AlterarProduto.btnPesquisarActionPerformed(AlterarProduto.java:349)
at org.me.projetopoo.AlterarProduto.access$400(AlterarProduto.java:16)
at org.me.projetopoo.AlterarProduto$5.actionPerformed(AlterarProduto.java:195)
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.Component.processMouseEvent(Component.java:6539)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
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:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
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)
The Product Code looks like this:
public List<Produtos> getID(String id) {
List<Produtos> resultados = null;
Connection con = null;
try {
con = ConexaoBD.getConnection();
} catch (ClassNotFoundException ex) {
Logger.getLogger(UsuarioDAO.class.getName()).log(Level.SEVERE, null, ex);
}
ResultSet resultSet = null;
PreparedStatement stmt = null;
try {
stmt = con.prepareStatement("select * from tabproduto where id_produto = ?");
stmt.setString(1, id);
while (resultSet.next()) {
resultados.add(new Produtos(
resultSet.getInt("ID_PRODUTO"),
resultSet.getString("NOME"),
resultSet.getString("QUANTIDADE"),
resultSet.getString("DATA_FAB"),
resultSet.getString("LOTE"),
resultSet.getString("OBS")));
}
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
ConexaoBD.closeConnection(con, stmt, resultSet);
}
return resultados;
}
The search button code looks like this:
private void btnPesquisarActionPerformed(java.awt.event.ActionEvent evt) {
resultado = dao.getID(txtID.getText());
numero = resultado.size();
if (numero != 0) {
indice = 0;
indiceEntrada = resultado.get(indice);
txtID.setText(String.valueOf(indiceEntrada.getId()));
txtNome.setText(indiceEntrada.getNome());
txtQtd.setText(indiceEntrada.getQtd());
txtFab.setText(indiceEntrada.getFab());
txtLote.setText(indiceEntrada.getLote());
txtObs.setText(indiceEntrada.getObs());
}
}
In debug appears like this
The insert part is working properly, but I’m not able to consult.
Oops, that’s right, I typed wrong. I’ll edit it. Vlw man
– Gustavo