Gente criei essa conta só pra ver se vocês podem me ajudar em um bug sinistro que aconteceu cmg, estou com um congelamento ao EXCLUIR um item ESPECÍFICO da minha JTABLE que NÃO consta mais no meu banco de dados o item MAÇAZINHA ao clicar em excluir ou editar minha janela de aplicação windows trava/congela e não é possivél fechar. Outros produtos da tabela são facilmente excluidos e/ou alterados, porém esse item não sai e não edita
A foto da postagem é quando eu clico para excluir ou editar esse item (17 MAÇAZINHA) que congela a janela
no meu banco de dados nao se encontra esse indice
Posta o código onde a ação de excluir está sendo executada.
Fotos não ajudam quase nada, posta o seu código.
public void deletar() {
int id;
Produto p = new Produto(); // CHAMO O PRODUTO DA BEAN
ProdutoDAO dao = new ProdutoDAO(); // CHAMO O PRODUTO DAO DA DAO
id = (Integer.parseInt(txtid.getText()));
p.setId(id);
p.setDescricao(txtdesc.getText());
p.setQtd(Integer.parseInt(txtqtd.getText()));
p.setPreco(Double.parseDouble(txtpreco.getText()));
// tableModel.addRow(p);
try {
dao.deletar(p);
limpar();
} finally {
lerTabela();
}
}
esse é o método que eu fiz para a ação de excluir, ele é funcional e consigo excluir outros itens da tabela menos o MAÇAZINHA
JButton btnExcluir = new JButton("Excluir");
btnExcluir.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
deletar();
int linhaSelecionada = table.getSelectedRow();
if (linhaSelecionada != -1) {
JOptionPane.showMessageDialog(null, "Nenhum Produto selecionado");
} else {
JOptionPane.showMessageDialog(null, "Produto excluido");
lerTabela();
}
}
});
btnExcluir.setBounds(429, 180, 146, 25);
frame.getContentPane().add(btnExcluir);
esse é o codigo do botão
public List ler() {
// CRIA UMA LISTA DE COLABORADORES
List<Produto> lista = new ArrayList<>();
try {
conexao = retornaConexao.obterconexao();
stmt = conexao.prepareStatement("SELECT * FROM MERCADINHO");
//GUARDA OS RESULTADOS DO EXCECUTEQUEERY NA VARIAVEL RS
rs = stmt.executeQuery();
// PERCORRE TODOS OS REGISTROS ENCONTRADOS
while (rs.next()) {
Produto produto = new Produto();
produto.setId(rs.getInt("ID"));
produto.setDescricao(rs.getString("DESCRICAO"));
produto.setQtd(rs.getInt("QTD"));
produto.setPreco(rs.getDouble("PRECO"));
lista.add(produto);
}
} catch (SQLException erro) {
JOptionPane.showMessageDialog(null, “ProdutoDAO listar” + erro);
} finally {
try {
stmt.close();
rs.close();
conexao.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return lista;
}
esse é meu código que percorre a lista
public void carregarCampos() {
int setar = table.getSelectedRow();
txtid.setText(table.getModel().getValueAt(setar, 0).toString());
txtdesc.setText(table.getModel().getValueAt(setar, 1).toString());
txtqtd.setText(table.getModel().getValueAt(setar, 2).toString());
txtpreco.setText(table.getModel().getValueAt(setar, 3).toString());
}