Copier le contenu d'un ResultSet dans une "liste" de listes
Bonjour,
Je vous le fais rapidement, je récupère des données d'une BDD dans un ResultSet rs, je souhaiterais copier ces données dans un objet JSON en utilisant l'API org.json.simple.JSONObject (http://code.google.com/p/json-simple/).
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| JSONObject obj2 = new JSONObject();
while (rs.next()) {
int row = rs.getRow();
//Je veux mettre chaque champs de la ligne courante du ResulSet
// dans une liste de String de type ArrayList
ArrayList<String> dataColumns = new ArrayList<String>(nbCol);
for (int columnIndex = 1; columnIndex <= nbCol; columnIndex++) {
dataColumns.add((columnIndex - 1), rs.getString(columnIndex));
}
//Je veux maintenant rajouter l'ArrayList dans mon objet JSON
obj2.put("row",dataColumns);
} |
Mon problème, c'est qu'à l'issue du parcours de mon ResulSet, obj2 ne contient que la dernière ligne des données.
Je me dis que c'est parce qu'à chaque nouvelle ligne, l'ArrayList dataColumns est créé et donc remis à zéro à chaque itération. Dans ce cas là, comment faire en sorte que obj2 contiennent un ArrayList de chaque ligne plutôt qu'uniquement le dernier ?
J'ai essayé avec un .clone() sur dataColumns, sans succès.
Merci de votre aide.