[RESOLVIDO] Jtable repetindo o mesmo valor várias vezes
9 respostas
javamysqlprogramação
L
Larissa_Smith
Eu estou fazendo uma tela para fazer todos os métodos CRUD. Já fiz o inserir e queria exibir os dados na minha JTable. Porém os valores estão sendo repetidos.
Esse é o método para capturar os valores do banco na classe “ClienteDao”
Não poste imagens do código
Posta o código, seleciona ele e clica no botão de auto formatação.
No seu método ListarClientes, que deveria iniciar com letra minúscula, você só está criando um objeto do tipo Cliente, a cada iteração do laço está alterando as propriedades do mesmo objeto e inserindo o mesmo objeto na lista.
Está errado, tem que instanciar um novo objeto a cada iteração do laço.
L
Larissa_Smith
Valeu, foi isso mesmo…
Obrigada
S
smatt
@Larissa_Smith, seja bem vinda ao fórum, e esperamos que você aprenda bastante coisa por aqui! (Eu mesmo aprendo muito rsrs).
Leia este tópico aqui que será de ajuda pra você que tá chegando agora aqui no fórum:
Postando código aqui, selecione-o e depois aperte “</>” que fica logo acima da caixa de texto, daí seu código ficará formatado e de fácil entendimento, em vez de postar prints do código. a comunidade agradece!
publicArrayList<User>read(){Stringquery="SELECT * FROM users";try{stmt=connection.prepareStatement(query);result=stmt.executeQuery();while(result.next()){UserobjUser=newUser();objUser.setId(result.getInt("id"));objUser.setName(result.getString("name"));objUser.setPass(result.getString("pass"));objUser.setEmail(result.getString("email"));objUser.setCpf(result.getString("cpf"));list.add(objUser);}}catch(SQLExceptione){JOptionPane.showMessageDialog(null,"UserDAO "+e);}returnlist;}
P
pmlm
Onde é criado este list?
L
luwesleycas
Esse foi criado na view
P
pmlm
Não, na lista crias uma variavel que vai apontar para o resultado deste método, não crias a lista. A lista é criada em algum ponto que faças new.
O que parece que está a acontecer aqui é que tu crias a lista uma vez na classe (em algum lugar do código que não colocaste aqui) e depois estás sempre a adicionar elementos à mesma lista, ficando por isso com objetos repetidos.