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 :

Récupérer plusieurs informations - tableau ?


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut Récupérer plusieurs informations - tableau ?
    Bonsoir,

    je cherche à récupérer une liste de string avec une requête pour les passer sur une page suivante.
    Comme c'est une liste (5 valeurs), je pensais à les ajouter dans un tableau mais je ne vois pas vraiment comment faire.
    Ce que j'ai pour l'instant :

    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
    47
     
    connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "", "");
                  stmt = connection.createStatement();
                  rs = stmt.executeQuery("select lien from (select lien from IMAGE ORDER BY dbms_random.VALUE) WHERE rownum = 1");
                  while (rs.next())
                  {
                          HttpSession session = req.getSession(true);
                          String image1 = rs.getString(1);
                          session.setAttribute("image1", image1);
                  }
                  stmt = connection.createStatement();
                  rs = stmt.executeQuery("select lien from (select lien from IMAGE ORDER BY dbms_random.VALUE) WHERE rownum = 1");
                  while (rs.next())
                  {
                          HttpSession session = req.getSession(true);
                          String image2 = rs.getString(1);
                          session.setAttribute("image2", image2);
                  }
                  stmt = connection.createStatement();
                  rs = stmt.executeQuery("select lien from (select lien from IMAGE ORDER BY dbms_random.VALUE) WHERE rownum = 1");
                  while (rs.next())
                  {
                          HttpSession session = req.getSession(true);
                          String image3 = rs.getString(1);
                          session.setAttribute("image3", image3);
                  }
                  stmt = connection.createStatement();
                  rs = stmt.executeQuery("select lien from (select lien from IMAGE ORDER BY dbms_random.VALUE) WHERE rownum = 1");
                  while (rs.next())
                  {
                          HttpSession session = req.getSession(true);
                          String image4 = rs.getString(1);
                          session.setAttribute("image4", image4);
                  }
                  stmt = connection.createStatement();
                  rs = stmt.executeQuery("select lien from (select lien from IMAGE ORDER BY dbms_random.VALUE) WHERE rownum = 1");
                  while (rs.next())
                  {
                          HttpSession session = req.getSession(true);
                          String image5 = rs.getString(1);
                          session.setAttribute("image5", image5);
                  }
     
    String url="/index.jsp";
                ServletContext sc = getServletContext();
                RequestDispatcher rd = sc.getRequestDispatcher(url);
                rd.forward(req, res);
    il faudrait utiliser une méthode .add() ou un truc comme ça ?
    Merci à tous les développeurs java ^^

  2. #2
    Membre très actif
    Avatar de la.lune
    Homme Profil pro
    Directeur Technique
    Inscrit en
    Décembre 2010
    Messages
    552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Comores

    Informations professionnelles :
    Activité : Directeur Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 552
    Par défaut
    Là déjà tu ne veut pas utiliser un tableau mais tu veux plutôt utiliser la session pour stocker tes donnés. Bon l'essentiel les session aussi servent à stocker des donné. Tu n'a pas besoin d'un add quelque part car tu as déjà fait un setAttribute("clé",valeur), tu as fait 2 gravees erreurs 1. tu répété une boucle while 5 fois , tu devait pluôt faire un if et non pas un while if(rs.next()){..
    2. Tu détruit à chaque fois ta session, alors pourquoi tu veut qu'il soit là, il faut déclarer ta session dehors de l'instruction d'ajout pour s'assurer qu'une seul session va contenir tous tes donnés.
    Mais une petite astus pour ne pas faire 5 if déclare un entier i et utiliser une seul boucle while et increment le i et à chaque fois tu concatène avec image lors de l'insertion comme ç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
     
    connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "", "");
                  stmt = connection.createStatement();
                  rs = stmt.executeQuery("select lien from (select lien from IMAGE ORDER BY dbms_random.VALUE) WHERE rownum = 1");
    int i=1;
    HttpSession session = req.getSession(true);
                  while (rs.next())
                  {          
                          String image = rs.getString(1);
                          session.setAttribute("image"+i, image);
                  i++
                  }
     
     
    String url="/index.jsp";
                ServletContext sc = getServletContext();
                RequestDispatcher rd = sc.getRequestDispatcher(url);
                rd.forward(req, res);
    Tu pourra récupérer tes chaines de caractères utilisant ton objet session là avec la méthode Object getAttribute(String name);
    par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    String image =getAttribute("image2")

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    OK merci pour ta proposition !
    Je la test dès que je peux et je te fais un compte rendu.


  4. #4
    Membre très actif
    Avatar de la.lune
    Homme Profil pro
    Directeur Technique
    Inscrit en
    Décembre 2010
    Messages
    552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Comores

    Informations professionnelles :
    Activité : Directeur Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 552
    Par défaut
    Juste pour rectifier un oubli lors de la récupération, je souligne que c'est avec la session qu'on récupère les attributs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String image = session.getAttribute("image2")

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    ça fonctionne très bien !
    Merci à toi

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

Discussions similaires

  1. Récupérer des informations d'un tableau
    Par breizhlama dans le forum Langage
    Réponses: 3
    Dernier message: 26/04/2010, 14h45
  2. Récupérer des informations de plusieurs zone
    Par CaRTmaN68 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 23/06/2009, 19h33
  3. [E-03] Récupérer "plusieurs éléments" d'un tableau croisé dynamique
    Par Access Newbie dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/03/2009, 14h48
  4. Récupérer les informations dans un tableau
    Par schats dans le forum Langage
    Réponses: 12
    Dernier message: 21/11/2008, 19h19
  5. [MySQL] Checkboxes : récupérer les informations sur plusieurs lignes
    Par eric41 dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 12/06/2006, 12h41

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