Dúvida com relação a List

2 respostas
R
Essa classe retorna todos os dados da tabela e adiciono esses dados em um Lista do tipo Empresa.
public List metodo() {
        String sql = "select * from empresa";
        Empresa emp = new Empresa();
        List<Empresa> dados = new ArrayList<Empresa>();
        try {
            ResultSet rs = stm.executeQuery(sql);
            while (rs.next()) {
                emp.setIdempresa(rs.getInt("idempresa"));
                emp.setRazaoSocial(rs.getString("razaosocial"));
                emp.setNomeFantasia(rs.getString("nomefantasia"));
                emp.setCnpj(rs.getInt("cnpj"));
                emp.setLogin(rs.getString("login"));
                emp.setSenha(rs.getString("senha"));
                dados.add(emp);
            }

        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, "Exceção SQL! " + e);
        }
        return dados;
    }
Só que quando mando ler esses dados, ela mostra todos possuindo a informacao do ultimo registro cadastrado na list. Por exemplo:

Elemento1:
id:7
login:login

Elemento2:
id:7
login:login

Sendo que deveria ser assim:

Elemento1:
id:1
login:login

Elemento2:
id:2
login:login

Tem alguma coisa que fiz de errado?

2 Respostas

T
public List metodo() {
        String sql = "select * from empresa";
        List<Empresa> dados = new ArrayList<Empresa>();
        try {
            ResultSet rs = stm.executeQuery(sql);
            while (rs.next()) {
                Empresa emp = new Empresa(); // para cada registro deve ser criada um novo objeto da classe Empresa. 
                emp.setIdempresa(rs.getInt("idempresa"));
                emp.setRazaoSocial(rs.getString("razaosocial"));
                emp.setNomeFantasia(rs.getString("nomefantasia"));
                emp.setCnpj(rs.getInt("cnpj"));
                emp.setLogin(rs.getString("login"));
                emp.setSenha(rs.getString("senha"));
                dados.add(emp);
            }

        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, "Exceção SQL! " + e);
        }
        return dados;
    }
R

Obrigado :smiley:

Erro simples, mas é aquela coisa, quando se esta muito tempo sobre o programa é dificil vermos erros simples como esse ^^

Agora deu certo. Vlw

Criado 2 de dezembro de 2008
Ultima resposta 2 de dez. de 2008
Respostas 2
Participantes 2