Tamanho do ResultSet?

3 respostas
A

Bom dia galera,

Tem como eu descobrir o tamanho do esultSet gerado em uma consulta (Select) ?

Meu problema é o seguinte, eu faco uma onsulta e tenho de preencher um array de Acessorios com os dados retornados da consulta, por exemplo: ID e Nome.

Não sei se a melhor saída é a q estou tentando fazer: utilizar um “for” para preencher o array, porém preciso saber o tamanho do ResultSet para definir a qtdade de vezes q o laço vai rodar.

Se alguem tiver uma sugestao melhor eu agradeço!! :lol:

valeu!!

3 Respostas

J

Se possível, não use um array, e sim uma coleção!

K

Talvez nao seja necessário vc saber o tamanho do ResultSet. Ele tem um método boolean chamado next(). Entao vc pode fazer assim:

ResultSet rs;

while (rs.next()) {
    //preencha seu array
}

Ou seja, enquanto houver uma ‘próxima linha’ no seu resultset, a instrucao dentro do while será executada.

S

“andrerios”:
Bom dia galera,

Tem como eu descobrir o tamanho do esultSet gerado em uma consulta (Select) ?

Meu problema é o seguinte, eu faco uma onsulta e tenho de preencher um array de Acessorios com os dados retornados da consulta, por exemplo: ID e Nome.

Não sei se a melhor saída é a q estou tentando fazer: utilizar um “for” para preencher o array, porém preciso saber o tamanho do ResultSet para definir a qtdade de vezes q o laço vai rodar.

Se alguem tiver uma sugestao melhor eu agradeço!! :lol:

valeu!!

Não sei que mania é essa de usar arrays. Gente, java não é linguagem porcaria, é tecnologia de ponta. Use um Set dentro de um while e não tenha preocupações desse tipo…

// Estou supondo que existe um objecto Assesorios que contem os dados 

Set<Assesorio> assesorios = new HashSet<Assesorio>();

ResultSet rs = // obtenha o resulset 

while (rs.next()){
     Assesorio a = readAssesorioFromResult(rs); // método que fabrica e preenche o obejto Asessorio

    assesorios.add(a);

}


// quando o codigo chegar nesta linha, todos os asessorios estarão no Set
asessorios
Criado 26 de dezembro de 2006
Ultima resposta 26 de dez. de 2006
Respostas 3
Participantes 4