ResultSet + Collections

5 respostas
M

ae, alguem pode me dar um exemplo bem simplório de como colocar os resultados de um result set numa colection???

eu ví um exemplo aqui só q eu num lembro onde.

valew

5 Respostas

M

bem, é algo como:

ArrayList list = new ArrayList();

boolean maisRegistros = resultSet.next();

if ( !maisRegistros )
   // o resultSet nao tem nenhum registro

else
   do {

      list.add( resultSet.getString( "nome" ) );
 
   } while( resultSet.next() );

…no caso, estou populando uma Collection do tipo ArrayList com os dados da coluna “nome” do resultSet… só de exemplo né…

M

axo q tô intendendo, intaum ai eu coloco um ArrayList pra cada coluna da tabela né?

F

Se for uma ou duas colunas, blz …

Cada linha da tabela/query que vc está trazendo no ResultSet pode ser ou é um objeto ?

Se sim, vc pode adicionar o objeto inteiro de uma vez no ArrayList.

Por exemplo, vc tem um objeto Usuario (bem simples) com as propriedades abaixo :

  • codigo,
  • nome
  • tipo
  • email.

Vc faz um select que traz as colunas codigo, nome, tipo e email.

Então vc cria os objetos Usuario com essas colunas e adiciona o objeto no ArrayList.

No exemplo abaixo, a classe Usuario tem um construtor com os parâmetros do resultSet, só pra facilitar.

ArrayList list = new ArrayList(); 

   while(resultSet.next()) { 
        list.add( new Funcionario(
                              resultSet.getInt( "codigo" ), 
                              resultSet.getString( "nome" ) ,
                              resultSet.getString( "tipo" ) ,
                              resultSet.getString( "email" )  
                                            );
                  ); 
     };

Falou,
Fábio :lol:

M

pessoal e como eu faço para recuperar os valores que joguei para o arraylist ?
se der para dar um exemplo… pois eu estou fazendo mas esta dando erro,
queria comprar com um exemplo para ver onde estou errando

Valeu

G
"mackalister":
pessoal e como eu faço para recuperar os valores que joguei para o arraylist ? se der para dar um exemplo.. pois eu estou fazendo mas esta dando erro, queria comprar com um exemplo para ver onde estou errando

Valeu

Iterator iterator = list.iterator();
Funcionario f = new Funcionario();

while(iterator.hasNext()) {
     f = (Funcionario)iterator.next();;
     System.out.println("Nome: " + f.getNome());
}
Criado 5 de junho de 2004
Ultima resposta 12 de mai. de 2006
Respostas 5
Participantes 5