Boa noite galera!
Estou fazendo uma aplicação onde nela há uma tela de consulta, na qual o usuário pode pesquisar pelo nome.
O problema é que quando há vários registros com o mesmo nome, retorna a quantidade certa de registros porém com os dados iguais.
Por ex: Na tabela do banco há um Eduardo Dias e um Eduardo Machado, a consulta nessa caso retorna duas linhas com Eduardo Machado.
O método que monta a tabela é este:
[code]
public void montaTabela(ArrayList listaCliente){
DefaultTableModel modelo = new DefaultTableModel();
ClienteDAO cdao = new ClienteDAO();
modelo.addColumn(“ID”);
modelo.addColumn(“NOME”);
modelo.addColumn(“IDADE”);
modelo.addColumn(“DATA NASCIMENTO”);
cdao.pesquisar(txtNomePesq.getText(), listaCliente);
for(Cliente d: listaCliente){
String[] linha = {d.getId().toString(), d.getNome(), d.getIdade().toString(), d.getDataNascimento()};
modelo.addRow(linha);
}
tblPesqCliente.setModel(modelo);
}[/code]
E o DAO de consulta é este:
public List<Cliente> pesquisar( String nome, ArrayList<Cliente> listaCliente) {
String sql = "Select * from Cliente where NOME like '%"+nome+"%'";
Cliente e = new Cliente();
try {
PreparedStatement ps = Principal.conexao.getConexao().prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while(rs.next()){
e.setId(rs.getInt("ID"));
e.setNome(rs.getString("NOME"));
e.setIdade(rs.getInt("IDADE"));
e.setDataNascimento(rs.getString("DATA_NASCIMENTO"));
listaCliente.add(e);
}
} catch (SQLException ex) {
Logger.getLogger(ClienteDAO.class.getName()).log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(null,"Erro ao recuperar cliente do banco de dados");
}
return listaCliente;
O erro de lógica está em algum destes métodos???
Valeu pessoal,
abraços