Ordenar ResultSet. É Possível?

11 respostas
T

Olá a Todos,

Depois de obtido um ResultSet, além de navegar nele, excluir e alterar rows, eu posso ordená-lo por uma determinada coluna?

f.l.

11 Respostas

Daniel_Quirino_Olive

Para pensar: não seria mais interessante trazer todas as tuplas de sua seleção já ordenadas do banco de dados?

T

Nao. porque o usuário pode escolher por qual campo quer ordenar…

Só que eu nao quero fazer outra consulta, quero usar o ResultSt que já tenho…

luiz_ross
Usa a displaytag que ela faz isso pra vc
T

Ok, mas nao conheço essa displaytag…

Pode ser mais específico?

volnei

tyrael:
Ok, mas nao conheço essa displaytag…

Pode ser mais específico?

Recupere todos seus registros em objetos que implementam a interface Comparable e adicione-os a um ArrayList depois é só usar Array.sort(list);

Eu não acho uma boa idéia ficar trabalhando diretamente com o resultSet, além de segurar uma conexão com o banco eu acho que a aplicação fica ilegível, resumindo, crie uma camada DAO e trabalhe com MVC!

:wink:

T

moral da história…

Nao é possivel ordenar ResultSets…

Valeu, galera…

louds

Já pensou em usar rowsets? parece que vão atender melhor que um resultset apenas.

T

Explique-me melhor sobre rowsets…
Parece Interessante…

volnei

tyrael:
moral da história…

Nao é possivel ordenar ResultSets…

Valeu, galera…


E podemos conviver bem com isso!

Daniel_Quirino_Olive

De fato não é possível ordenar um ResultSet e, para mim, não faz nenhum sentido este tipo de operação, já que uma representação de uma tabela não precisa de ordenação (coisas que fogem de sua responsabilidade). Sugestões:

  • o louds já comentou sobre os JDBC Rowsets. Aí vai uma explicação mais bonitinha sobre eles: http://java.sun.com/developer/Books/JDBCTutorial/chapter5.html
  • mapear o ResultSet para objetos que implemente a interface java.lang.Comparable e jogá-los em um List :wink:
  • criar algum widget maluco que faça a ordenação de informações, como os DataSets do .NET fazem (aliás, me pergunto até hoje porque diabos a porcaria do Swing não tem um componentezinho destes pronto para usar).
  • deixar isso para o ano que vem, afinal já estamos quase no natal :smiley:
Lucas_Teixeira

Nossa, que raios de aplicação é esta onde vc tem que ordenar um ResultSet? Não me convenceu não…

Que tal se usar o ResultSet apenas para trazer os dados, e armazenasse isso em uma List… e como disse nosso amigo Volnei Latino, usar o método sort para fazer a ordenação que quiser

:stuck_out_tongue:

Criado 20 de dezembro de 2004
Ultima resposta 20 de dez. de 2004
Respostas 11
Participantes 6