Pessoal, estou com uma duvida, com ajuda por favor… (Nível de explicação baixo)
Estou com seguinte caso,
1 tenho em um frame com tabelas e 3 botões.
novo- alterar- excluir.
Quando clico no novo ele chama outro frame, ai o usuário preenche e salva, alterar mesma coisa, carrega os itens da tabela, e deveria salvar
O botões novo e excluir estão certo.
Agora o alterar quando ele chama o frame já vem com o meto “Salvar” porem ele cadastra o mesmo produto e não alterar o item.
Já tentei usar um método com String “SalvarAlterar”,mais ai que me pegou, pois os métodos então no outro frame… alguém consegue em ajudar ?
Agradeço
os frames são uma apresentação / visualização / interação com o usuario.
vc deveria ter um objeto responsavel por criar um novo, alterar e excluir. uma classe diferente, uma instancia unica que os 3 frames compartilham ( ok poderiam ser 3 instancias diferentes também, num primeiro momento, desde que vc esteja salvando em um mesmo lugar como um banco de dados ou um atributo estatico )
seus frames vão apenas delegar o processamento para este objeto.
Estou utilizando o NetBeans, então as aulas que estou assistindo, estamos fazendo no sistemas MVC, como sou nova aqui no fórum, e no assunto, acho que me expressei mau.
Primeiramente, não se trata de uma dúvida boba.
Tente ser mais clara nos títulos, ok?
Cadastra o mesmo produto = a) cria um novo produto com os mesmos dados do antigo? b) Ou cadastra um produto novo, com as mudanças que você queria colocar no produto antigo?
Isso significa que, especificamente no método para atualizar, você não lê os dados novos digitados no JFrame ou que você sequer executa essa ação.
Você tentou debugar (no NB é depurar) o código?
Sim, executo apenas o arquivo local, “F6” ele da um erro, depois ele carrega, abre quando e um novo produto, ele salva sem problema, quando vai alterar, ele salva, porem não atualiza, e salva um produto com mesmo dados, em um nomo id
Olha, vendo pelo método SalvarProdutos (nomes de métodos devem começar sempre em minúsculos, ok?), você não seta, em nenhum momento, o código referente ao produto que está sendo alterado. É uma premissa definir o código (a chave primária do banco de dados) ou um elemento que seja imutável (CPF de uma pessoa, por exemplo) para ser usado como condição que vai definir qual elemento deve ser atualizado.
Esse seria o primeiro passo para evitar criação de um novo registro no banco.
O segundo é certificar-se de que, ao clicar no botão que dispara a ação de salvar, você realmente use todos os dados que acabou de preencher.
Você , esta dando responsabilidade de requisitos funcionais para objetos não funcionais de aplicações de frame, por exemplo você esta persistindo jtRowData pra uma requisição de frame, mas não mostra uma abstração para um DAO, fica difícil entender seu código , me parece que você está usando algo que fique em memória em uma ModelProdutos, pode parar esse código esta fora de padrões de projeto. Vamos esperar alguém colocar um código que seja limpo dessas instanciações sem responsabilidade pra ver se podemos reaproveitar o que você fez.