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

Servlets/JSP Java Discussion :

affichage select jdbc


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 95
    Points : 66
    Points
    66
    Par défaut affichage select jdbc
    Bonjour, j'ai une fonction qui va chercher des information en bdd

    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
    public ArrayList afficherLivres() 
        {
             ArrayList <Livre> al = new ArrayList <Livre> () ;
     
                try
                {
                    Class.forName(driver);
                    //Connexion a* la BDD//
                    conn = DriverManager.getConnection(url, "root", "sam220889");
                    stmt = (Statement) conn.createStatement();
     
                    //Requete SQL//
                    rs = stmt.executeQuery("select * from cataloguelivre");
     
                    while(rs.next())
                    {
                        String titreLivre = rs.getString(1);
                        String auteur = rs.getString(2);
                        int prixLivre = rs.getInt(3);
                        int stock = rs.getInt(4);
                        Livre livre = new Livre(titreLivre, auteur, prixLivre, stock);
                        al.add(livre);
                    }
     
                }
                catch(SQLException exc)
                {
                    System.out.println("SQLException : " + exc.getMessage());
                    System.out.println("SQLState " + exc.getSQLState());
                }
                catch (ClassNotFoundException exc)
                {
                    exc.printStackTrace();
                }
     
                return al ;
         }
    j'ai une jsp sur laquelle j'affiche ces informations

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Bdd bdd = new Bdd() ;
    ArrayList <Livre> al = bdd.afficherLivres() ;
    for (int i=0; i<al.size(); i++)
    {
        out.println(al.get(i).getTitreLivre()) ;
    }
    Le problème est que seul la dernière entrée est affichée.

    Quelqu'un peut m'aider svp.

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    C'est curieux, le code me semble bon, la signature de la méthode devrait juste donner le type de la liste, ce serait mieux.
    Es-tu sûr qu'il y a plusieurs enregistrements dans ta DB ?

    Sinon, d'un point de vue code, il serait plus judicieux de prendre l'habitude d'utiliser les interfaces plutôt que les classes d'implémentation, dans ton cas :
    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
    public List<Livre> afficherLivres()
    {
        List<Livre> al = new ArrayList<Livre>() ;
    
        try
        {
            Class.forName(driver);
            //Connexion a* la BDD//
            conn = DriverManager.getConnection(url, "root", "sam220889");
            stmt = (Statement) conn.createStatement();
    
            //Requete SQL//
            rs = stmt.executeQuery("select * from cataloguelivre");
    
            while(rs.next())
            {
                String titreLivre = rs.getString(1);
                String auteur = rs.getString(2);
                int prixLivre = rs.getInt(3);
                int stock = rs.getInt(4);
                Livre livre = new Livre(titreLivre, auteur, prixLivre, stock);
                al.add(livre);
            }
    
        }
        catch(SQLException exc)
        {
            System.out.println("SQLException : " + exc.getMessage());
            System.out.println("SQLState " + exc.getSQLState());
        }
        catch (ClassNotFoundException exc)
        {
            exc.printStackTrace();
        }
    
        return al ;
    }
    Si un jour tu devais changer la classe d'implémentation (Collection, Set, Vector, ArrayList, ...) parce qu'une autre est plus adaptée qu'ArrayList, tu n'aurais pas à changer la page (ou les utilisateurs au sens large).

    Ceci dit, ce n'est pas de là que vient l'erreur, c'est juste de bonnes pratiques.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 95
    Points : 66
    Points
    66
    Par défaut
    Ok je vais faire cette petite modif.
    Il y a bien 5 entrées dans ma table j'ai vérifié.

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

Discussions similaires

  1. Taille Affichage Select
    Par Sequlo dans le forum Développement
    Réponses: 2
    Dernier message: 13/10/2011, 11h15
  2. [Débutant] C++ Builder Affichage/selection/supression d'une image
    Par tkx13140 dans le forum C++Builder
    Réponses: 3
    Dernier message: 11/03/2011, 14h23
  3. [MySQL] Affichage SELECT sur plusieurs pages
    Par ricardcoca dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/01/2010, 19h53
  4. Affichage Select Hidden
    Par ririch dans le forum ASP
    Réponses: 9
    Dernier message: 07/05/2009, 14h25
  5. [Conception] Affichage select en temp réel
    Par julien760 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 07/09/2006, 11h46

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