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

Composants Java Discussion :

Seulement la première ligne du JTable s'affiche


Sujet :

Composants Java

  1. #1
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 194
    Points : 102
    Points
    102
    Par défaut Seulement la première ligne du JTable s'affiche
    Voilà,
    j'ai une portion de code qui remplit une JTable qui possède un modèle, selon des sélections dans une base de données
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     ResultSet rs = db.getQuery(requete);
     
     
            while (rs.next()) {
     
              String debut=rs.getString("datedebut");
              String fin=rs.getString("datefin");
              String num=rs.getString("NUMEROVERIFICATION");
              String charge=rs.getString("CT");
              String[] tab=debut.split(" ");
              debut = franciserDate(tab[0]);
     
     
              if (fin!=null){
                tab = fin.split(" ");
     
                fin = franciserDate(tab[0]);
              }
              else{
                fin="";
              }
     
     
              String nom="";
              String prenom="";
              String requete2="Select nom,prenom FROM personnes WHERE login='"+charge+"'";
              System.out.println(requete2);
              ResultSet rs2=db.getQuery(requete2);
     
              while (rs2.next()){
                nom=rs2.getString("nom");
                prenom=rs2.getString("prenom");
              }
     
     
              String[] objects = new String[colNb];
              objects[0]=nom;
              objects[1]=prenom;
              objects[2]=debut;
              objects[3]=fin;
              objects[4]=num;
     
     
              modelCT.addRow(objects);
            }
    Au final, seulement une ligne de ma JTable est imprimée ; par contre, si je supprime tout ce qui concerne le ResultSet rs2, cela se passe sans problème (mais les noms et prénoms ne s'affichent pas, bien entendu)... une idée ?




    [Modéré par Didier]
    Ajout de tag dans le titre
    Lire les règles du forum : Règles du forum Java

  2. #2
    Membre averti
    Avatar de JHelp
    Inscrit en
    Octobre 2002
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 185
    Points : 444
    Points
    444
    Par défaut Re: Seulement la première ligne du JTable s'affiche
    Citation Envoyé par szdavid
    Au final, seulement une ligne de ma JTable est imprimée
    Logique tu ne lui ajoutes que la derniére ligne, essaie en décalant la parenthése fermente de ton while
    Comme ceci :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     ResultSet rs = db.getQuery(requete);
     
     
            while (rs.next()) {
     
              String debut=rs.getString("datedebut");
              String fin=rs.getString("datefin");
              String num=rs.getString("NUMEROVERIFICATION");
              String charge=rs.getString("CT");
              String[] tab=debut.split(" ");
              debut = franciserDate(tab[0]);
     
     
              if (fin!=null){
                tab = fin.split(" ");
     
                fin = franciserDate(tab[0]);
              }
              else{
                fin="";
              }
     
     
              String nom="";
              String prenom="";
              String requete2="Select nom,prenom FROM personnes WHERE login='"+charge+"'";
              System.out.println(requete2);
              ResultSet rs2=db.getQuery(requete2);
     
              while (rs2.next()){
                nom=rs2.getString("nom");
                prenom=rs2.getString("prenom");
     
     
     
              String[] objects = new String[colNb];
              objects[0]=nom;
              objects[1]=prenom;
              objects[2]=debut;
              objects[3]=fin;
              objects[4]=num;
     
     
              modelCT.addRow(objects);
    }
            }
    JHelp

  3. #3
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 194
    Points : 102
    Points
    102
    Par défaut
    Sans effet ; j'ai oublié de précisé ::
    il n'y a qu'un nom et prénom par requete ; par contre, il peut y avoir plusieurs résultats à la première...

  4. #4
    Membre actif
    Inscrit en
    Avril 2004
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 238
    Points : 265
    Points
    265
    Par défaut
    Pourquoi tu t'embete à faire 2 requetes imbriqués, fais en une seule avec jointure sur tes 2 tables avec ton string charge.
    Dans le style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ... ,nom,prenom FROM ...,personnes WHERE ... AND login=charge
    .
    Les ... correspondant à ta premiere requete rs.

    Ca te fais moins d'acces a la base et c'est plus propre

  5. #5
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 194
    Points : 102
    Points
    102
    Par défaut
    oui, c'est ce à quoi j'ai pensé après...
    Honte sur moi

    Merci

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

Discussions similaires

  1. Obtenir seulement la première ligne d'un Blob text
    Par SergioMaster dans le forum SQL
    Réponses: 2
    Dernier message: 17/03/2012, 07h56
  2. Réponses: 3
    Dernier message: 24/06/2009, 19h34
  3. Afficher les 10 premières lignes d'un rapport
    Par redoute dans le forum Deski
    Réponses: 4
    Dernier message: 20/04/2007, 16h02
  4. Réponses: 5
    Dernier message: 23/03/2007, 11h23
  5. [C# 2.0] Afficher les premières lignes d'une TextBox.
    Par Pierre8r dans le forum Windows Forms
    Réponses: 3
    Dernier message: 02/06/2006, 19h25

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