O objetivo é deletar uma linha da tabela no banco de dados
Esse é o botão para deletar:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
if (jTProdutos.getSelectedRow() != -1) {
produtoB P = new produtoB();
produtoDAO dao = new produtoDAO();
P.setCodprod((int) jTProdutos.getValueAt(jTProdutos.getSelectedRow(), 0));
dao.delete(P);
txtDesc.setText("");
txtQtd.setText("");
txtPrec.setText("");
txtCat.setText("");
txtMarca.setText("");
readJtable();
} else {
JOptionPane.showMessageDialog(null, "Selecione um produto para excluir.");
}
}
e esse é o metodo:
public void delete(produtoB p) {
Connection con = ConnectionFactory.getConnection();
PreparedStatement stmt = null;
try {
stmt = con.prepareStatement("DELETE FROM produto WHERE Cod_prod=?");
stmt.setInt(6, p.getCodprod());
stmt.executeUpdate();
JOptionPane.showMessageDialog(null, "Produto excluido com sucesso!");
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Erro ao excluir!" + ex);
} finally {
ConnectionFactory.closeConnection(con, (com.mysql.jdbc.PreparedStatement) stmt);
}
}
Esse erro é a unica coisa que aparece.
java.sql.sqlexeption. parameter index out of range (6>number of parameters, which is 1)
os outros metodos(criar e atualizar) funcionam perfeitamente.
se alguem puder ajudar, agradeço.