Résultat d'une réquête (plusieurs lignes)

robi17 Messages postés 6 Date d'inscription vendredi 8 février 2008 Statut Membre Dernière intervention 1 décembre 2010 - 1 déc. 2010 à 20:37
lail1001 Messages postés 4 Date d'inscription vendredi 13 février 2009 Statut Membre Dernière intervention 16 janvier 2012 - 13 déc. 2011 à 19:16
Bonsoir tout le monde.

Pour commencer, je découvre ce forum, j'ai fais une recherche pour savoir sicette question n'avait pas été posée, à priori c'est pas le cas, car je n'ai pas trouvé bonheur.

Je bloque sur un projet java (c'est tout nouveau pour moi comme langage).

J'execute une requête qui fonctionne, mais le problème est que cela m'affiche qu'une seule ligne de résultat, alors que je voudrais récuperer toutes les lignes(résultats) qu'il y a dans ma bdd.

1 donnée 1
2 donnée 2
3 donnée 3
4 donnée 4
etc

Dans mon code j'ai qu'une seule ligne.

voici le code de ma classe, j'utilise résultset,


package beans;
import java.sql.*;

public class AfficheAlbums{

        private String image = "";
        private String util = "";
    	private String nom = "";
        private String titre = "";
        private String desc = "";
        private int date_debut;
        private int date_maj;
        Connection con;
Statement requete;
ResultSet req;

java.sql.Date date;
String corps;

String lien;
       

public void connect()
{
       
try
{
                    
                    Class.forName("com.mysql.jdbc.Driver");
                    con =DriverManager.getConnection ("jdbc:mysql://localhost:3306/album", "root", "");
                  Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                       ResultSet.CONCUR_READ_ONLY);
                    req = stmt.executeQuery("SELECT * FROM albums");
                    int i=0;
                    //recupération des données sql
                    while(req.next())
                    {


                    image = req.getString(2);
                    util = req.getString(3);
                    nom = req.getString(4);
                    titre = req.getString(5);
                     desc = req.getString(6);
                   i++;


                    }

                



                }

catch (Exception e)
{
System.out.println("erreur dans Connexion : "+e.toString());
}
}

         public String getImage()
        {
            return image;
        }

         public String getUtilisateur()
        {
            return util;
        }

        public String getAlbum()
        {
            return nom;
        }

        public String getTitre()
        {
            return titre;
        }

        public String getDesc()
        {
            return desc;
        }

               public String affiche()
        {
            return "-" + getImage() + "-" + getUtilisateur() + "-" + getAlbum() + "-" + getTitre() + "-" + getDesc();
        }



       public void close()
{
try
{
req.close();
con.close();
}
catch (Exception e)
{
}
}


}


J'espère que vous pourrez m'aider, j'ai passé toute ma journée la dessus sans trouvé

2 réponses

cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
1 déc. 2010 à 22:28
Bonjour.
Il faut que tu utilise une liste (genre linkedlist) d'albums.

        
class Album {
    private String image = "";
    private String util = "";
    private String nom = "";
    private String titre = "";
    private String desc = "";
+ les getter  / setter associé


et dans ta fonction "connect"
LinkedList albums = new LinkedList();

while(rs.next()) {
   Album album = new Album();
   album.setNom(rs.getString(4));
   album.set.... etc
   albums.add(album);
}
0
lail1001 Messages postés 4 Date d'inscription vendredi 13 février 2009 Statut Membre Dernière intervention 16 janvier 2012
13 déc. 2011 à 19:16
comment je peut dans ce cas afficher les multiple-ligne de requête


try{
String N_Bouteille="",Casier_container="",Cave_container="";
ResultSet RSS.executeQuery("select * from bouteille where N_Bouteille '"+ide+"'");
// ResultSet RSS.executeQuery("select * from casier where N_casier '"+idel+"'");
while(RS.next()){
// bouteil bouteil = new bouteil();
N_Bouteille=RS.getString(2);
Casier_container =(RS.getString(3));
Cave_container =(RS.getString(4));
// bouteilraw.add(bouteil);


}
String data[][]={{N_Bouteille,Casier_container,Cave_container}};
String columnNames[]={"N_Bouteille","Casier_container","Cave_container"};

JTable table = new JTable(data, columnNames);
JScrollPane scrollPane = new JScrollPane(table);
JFrame fr=new JFrame();
fr.add(scrollPane);
fr.pack();
fr.setVisible(rootPaneCheckingEnabled);

}
0
Rejoignez-nous