-
[JDBC]Resultset
salut tout le monde voila au cours d'un developpement d'un site web en java, j'ai utiliser un ROW_NUMBER() pour gerer la pagination mais lors de l'integration sur l'AS400 je me suis rendu compte que ca marche pas alors j du opter pr utiliser un resultset de type scrollable comme ca je gere la pagination!!
ma question c est ce que les données que contient le resulset de type scrollable se perde a la fin de la connection ?? car je veux eviter a chaque pagination une requete serveur est l'ideal ca sera d'extraire du resultatset a chaque page souhaité les donnée souhaité !!
merci d'avance
-
Le mieux (et le plus propre) est de repecurer tes donnees et de les mettre dans une liste d'objets. Ensuite tu peux fermer la connection proprement et concerver tes donnees.
NB : si tu te balades avec ton resultSet sans fermer la connection, au premier plantage, tu vas laisser un pool ouvert ! :roll:
-
mais le probleme c que j'aurais un million de champs resultant de la requete c pour ca que je veux eviter a chaque pagination une requete serveur!! :( l'ideal c de preserver le contenu du resultset dans un endroit en memoire comme ca je peux l'exploiter !! )
une autre question c que si jamais je preserve le contenu du resultset dans un endroit lequel sera le mieux?? et est ce que je peux le retransferer dans un resulset ??
merci pr ts vos reponse
-
Quel SGBD utilises tu ? Il est possible avec certain SGBD de gêrer la pagination sur la DB: Rownum avec oracle par exemple.
D'une facon plus générale l'utilité de ramener un grand nombre de lignes est toujours sujet à caution dans la mesure ou ce n'est pas exploitatble pour l'utilisateur.
-
j'utilise DB2 sur iSeries (et maleureusement il ne connais ni limit de postegre et mysql ni ROW_NUMBER() de oracle !! :( )
-
Je rejoins ce que viena dit.
Le mieux est de garder les résultats du ResultSet dans une autre structure.
Cela évite de plus les problèmes de compatibilité.
Le problème est le même en PHP avec les query qui ne sont exploitables qu'une seule fois avec la ressource.