O código abaixo é uma gravação de alteração de item de pedido, parece que a alteração na tabela sql está ok mas na tabela de visualização ele repete uma linha. Não sei porque. Se alguém puder apontar o erro eu agradeço. Veja o código:
btAlterar2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Double quantidade = util.spaceToDouble(tfQuantidade.getText());
if(quantidade <= 0) {
JOptionPane.showMessageDialog(null, "Quantidade não pode ser zero!");
tfQuantidade.requestFocus();
return;
}
Double preco = util.spaceToDouble(tfPreco.getText());
if(preco <= 0) {
JOptionPane.showMessageDialog(null, "Preço não pode ser zero!");
tfPreco.requestFocus();
return;
}
if(!pedidosDAO.localizarProduto(tfId_produto.getText())) {
JOptionPane.showMessageDialog(null, "Produto não cadastrado!");
tfId_produto.requestFocus();
return;
}
pedidosDAO.itemPedidoClienteEstendida = new ItensPedidoClienteEstendida();
pedidosDAO.itemPedidoClienteEstendida.setId_pedido_cli(pedidosDAO.pedidoCliente.getId());
pedidosDAO.itemPedidoClienteEstendida.setId(Integer.parseInt(tfId_item.getText()));
pedidosDAO.itemPedidoClienteEstendida.setId_produto(tfId_produto.getText());
pedidosDAO.itemPedidoClienteEstendida.setQuantidade(quantidade);
pedidosDAO.itemPedidoClienteEstendida.setPreco(preco);
pedidosDAO.itemPedidoClienteEstendida.setDescricao_produto(pedidosDAO.produto.getDescricao());
if(!pedidosDAO.alterar2()) {
JOptionPane.showMessageDialog(null, "Erro ao gravar alteração!");
} else {
listaItens.get(linha).setId_produto(
pedidosDAO.itemPedidoClienteEstendida.getId_produto());
listaItens.get(linha).setQuantidade(
pedidosDAO.itemPedidoClienteEstendida.getQuantidade());
listaItens.get(linha).setPreco(
pedidosDAO.itemPedidoClienteEstendida.getPreco());
listaItens.get(linha).setDescricao_produto(pedidosDAO.produto.getDescricao());
tableModel.setNumRows(0);
for(int i = 0; i < listaItens.size(); i++ ) {
tableModel.addRow(new Object[] {
listaItens.get(i).getId(),
listaItens.get(i).getId_produto(),
listaItens.get(i).getDescricao_produto(),
listaItens.get(i).getQuantidade(),
listaItens.get(i).getPreco(),
listaItens.get(i).getQuantidade() * listaItens.get(i).getPreco()
});
}
limparCamposItem();
//btNovo2, btGravar2, btAlterar2, btExcluir2, btLimpar2
setBotoesItem(true, false, false, false, false);
setTFPedido(true);
setTFItem(false, false);
}
return;
}
});
Pessoal, pode fazer pergunta e pedir outros trechos de código, a gente dialoga.
Atenciosamente,
Ronaldo