Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Nouveau Membre du Club
    Inscrit en
    juin 2005
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : juin 2005
    Messages : 152
    Points : 39
    Points
    39

    Par défaut Comment faire un WHILE-ELSE

    Bonjour

    J'ai un bout de code qui me permet de récupérer les données dans ma BD mysql et de les afficher.Le voici:

    Code :
    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
     
    ...
    else
                {
                 pst=con.prepareStatement("select * from bien_immobilier where type_bien=? && type_logement=? && ville=? && quartier=? && prix between ? and ?");
     
                 pst.setString(1,type_b);
                 pst.setString(2,type_log);
                 pst.setString(3,vil);
                 pst.setString(4,qrt);
                 pst.setInt(5,Integer.parseInt(p_min));
                 pst.setInt(6,Integer.parseInt(p_max));
                }
               }
             }
     
         }
     
      resultat =pst.executeQuery() ;
     
      while (resultat.next())
        {   
     
              b = new Bien();
     
                    b.setId_bien(Integer.parseInt(resultat.getString("id_bien")));
                    b.setVille(resultat.getString("ville"));
                    b.setQuartier(resultat.getString("quartier"));
                    b.setType_bien(resultat.getString("type_bien"));
                    b.setType_logement(resultat.getString("type_logement"));
                    b.setPrix(Integer.parseInt(resultat.getString("prix")));
     
    }
    Le problème se trouve au niveau du WHILE.En effet je ne sais pas comment afficher le résultat si la condition est fausse.C'est à dire qu'avec la structure conditionnelle IF...ELSE, si la requete trouve un résultat,on me l'affiche,sinon je peux afficher un message d'erreur par exemple.Mais l'inconvénient avec IF...ELSE c'est que la requete ne m'affiche que la 1ere ligne qu'elle troiuve,c'est à dire meme si je fais select * from...;la requete ne m'affiche pas toutes les lignes correspondantes,elle m'affiche seulement une seule ligne.PAr contre avec WHILE,elle m'affiche toutes les lignes mais je peux pas utiliser le ELSE.
    En résumé j'aimerais faire un WHILE...ELSE
    J'espère que vous arriverez à me comprendre.
    Merci

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur java, .Net
    Inscrit en
    janvier 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur java, .Net

    Informations forums :
    Inscription : janvier 2011
    Messages : 49
    Points : 53
    Points
    53

    Par défaut

    Tu peux essayer ça :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    if (res.next() {
    do {
    //traitement
    } while(res.next();
    }
    else {
    //traitement
    }

  3. #3
    Nouveau Membre du Club
    Inscrit en
    juin 2005
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : juin 2005
    Messages : 152
    Points : 39
    Points
    39

    Par défaut

    Merciiiiiiiiiiiii beaucoup,ça marche.En fait j'avais peur de tenter l'utilisation de res.next() deux fois dans le même bloc.

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •