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

avec Java Discussion :

Problème Resultset et Vecteur


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Problème Resultset et Vecteur
    Bonjour à tous,

    Voilà j'ai un problème, j'aimerais stocker le ResultSet de ma requête SQL dans un Vecteur de vecteur. Seulement lorsque je parcours mon vecteur, j'obtiens le résultat que je dois obtenir x3.

    Ma table catégorie comprend 3 champs : id, nom et parent.

    Ma table comporte 3 enregistrements et j'obtiens 9 résultats, 3 fois les mêmes.

    Voici le code de tout ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    public static Vector<Vector<String>> allCategorie = new Vector<Vector<String>>();
    public static Vector<String> record = new Vector<String>();
     
    try {
    	ResultSet rs = Client.init.getBaseLocale().getStat().executeQuery("SELECT * FROM Categorie");
    	ResultSetMetaData rsmd = rs.getMetaData();
     
        while (rs.next()) {
     
        	   for (int i = 1; i <= rsmd.getColumnCount(); i++)
        	   {
        	      record.add(rs.getString(i));
        	   } 
        	   allCategorie.add(record);
        }
     
    } catch (SQLException e) {
     
    }
     
    for(int i=0; i < allCategorie.size(); i++){
    	for(int j=0; j < record.size(); j++){
    		System.out.println(allCategorie.get(i).get(j));
    	}
     
    }
    Merci d'avance pour vos réponses.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        while (rs.next()) {
     
        	   for (int i = 1; i <= rsmd.getColumnCount(); i++)
        	   {
        	      record.add(rs.getString(i));
        	   } 
        	   allCategorie.add(record);
        }
    c'est le meme objet record que tu ajoute toujours à allCategorie et c'est toujours dans cette objet record que tu stocke tout. Tu devrais logiquement faire un objet record différent pour chaque itération de ta boucle extérieure.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Ouais je vois ce que tu veux dire, mais du coup concrétement comment je peux faire ça dynamiquement ?

  4. #4
    Membre actif

    Inscrit en
    Octobre 2009
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 133
    Points : 295
    Points
    295
    Par défaut
    Ton élément record n'est instanciée qu'une seule fois au début de l'application.
    Tu ajoutes donc 3 fois le meme element a ton vecteur allCategorie (meme si tu le modifies ensuite),

    il te faut créer une nouvelle instance de record a chaque fois pour l'ajouter dans allCategorie (la première ligne du while devrait faire l'affaire)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Merci à tous les deux pour votre aide, ça marche nickel !

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

Discussions similaires

  1. Problème :ResultSet dans 1 JTable swing
    Par jer190 dans le forum JDBC
    Réponses: 3
    Dernier message: 18/07/2008, 13h42
  2. Problème test et vecteur
    Par lilyla dans le forum MATLAB
    Réponses: 2
    Dernier message: 05/03/2008, 17h03
  3. Problème héritage et vecteur
    Par scrat88 dans le forum Langage
    Réponses: 10
    Dernier message: 23/05/2007, 18h02
  4. Problèmes avec les Vecteurs
    Par alsimb dans le forum C
    Réponses: 8
    Dernier message: 10/02/2007, 10h29
  5. problème avec un vecteur
    Par Mathieu.J dans le forum C++
    Réponses: 9
    Dernier message: 30/10/2005, 22h53

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