IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

Copier le contenu d'un ResultSet dans une "liste" de listes


Sujet :

JDBC Java

  1. #1
    Membre régulier

    Inscrit en
    Novembre 2007
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 121
    Points : 104
    Points
    104
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  2. #2
    Membre régulier

    Inscrit en
    Novembre 2007
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 121
    Points : 104
    Points
    104
    Par défaut
    Argh !

    J'écrase à chaque itération ce que j'ai ajouté dans l'élément précédent. obj2 ressemble un peu à un Map, du coup, la clé row est toujours identique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	obj2.put("row",dataColumns);
    Désolé pour le dérangement...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Copier le contenu d'un xml dans une string
    Par Invité dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/04/2013, 15h16
  2. [AC-2003] Copier le contenu d'un contrôle dans une table
    Par alainb dans le forum IHM
    Réponses: 4
    Dernier message: 01/01/2010, 09h53
  3. [Toutes versions] Copier le contenu d'un tableau dans une feuille de calcul
    Par Heureux-oli dans le forum Contribuez
    Réponses: 0
    Dernier message: 25/04/2009, 20h08
  4. Réponses: 3
    Dernier message: 26/04/2008, 17h58
  5. Copier le contenu d'un Edit dans une nouvelle Form
    Par breizh44 dans le forum Débuter
    Réponses: 16
    Dernier message: 20/02/2008, 22h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo