Affichage d'une requête SQL dans Java

Bonjour,je veux afficher une requête SQL de recupération de valeur contenue dans une fonction afficheValeur()
n fois :n est le nombre de ligne de ma BD.
j'ai essayé de paser ce parametre dans la fonction
dont voici le code
for (int i=1;i<n;i++)
{
public double affPh(int i) throws SQLException
{ Statement stmt;
ResultSet rs = null;
double res=0;
try{
Class.forName("com.mysql.jdbc.Driver");
String url ="jdbc:mysql://localhost:3306/systeme";
Connection con = DriverManager.getConnection(url,"root", "arfaoui");
stmt = con.createStatement();
// STEP 2: perform operations on the database:
rs = stmt.executeQuery("SELECT * FROM syst where code=i;");

while(rs.next()){
//System.out.println(rs.getString(1));
//System.out.println(rs.getInt(2));
res= rs.getDouble(2);
}
// STEP 3: close the connexion to the database:
con.close();
}//end try
catch (ClassNotFoundException ex) { System.out.println("erreur");}
return res;
}
mais le code ne m'a pas renvoyé aucun résultat
Configuration: Windows XP
Firefox 2.0

3 réponses

  1. Bonjour,
    je comprend maintenant ton probleme
    ce que tu dois faire c'est utiliser un resulSetMetaData puis recuperer tes objets enfin le resultat de ta requete dans un tableau d'objet par ce qu'un simple ResultSet ne peux pas afficher le resultat d'une requete lorsqu'il ya des contraintes.Donc voila regarde de ce coté la.
    Bon courage!
    1. salut,j'ai pas utilisé un resultMetaData avant,svp si tu peux me donner laquelle des fonctions j'utilise
  2. Bonsoir est ce que tu peux être plus précis par ce que je n'arrive pas savoir ce que tu veux faire.
    Bon courage!
    1. bonjour,j'ai une fonction qui recupère la valeur depuis une BD.
      et j'ai 10 ligne dans ma table syst.

      je veux afficher le resultat de la requête suivant un paramètre passé en argument.
      cet argument représente l'id de chaque ligne de ma table SQL.
      voici le code
      int f;
      void aff(int f)
      {int res=0;
      //connexion a la BD
      rs = stmt.executeQuery("SELECT * FROM syst where code=f;");
      while(rs.next()){
      res= rs.getDouble(2);
      }
      }//end try
      catch (ClassNotFoundException ex) { System.out.println("erreur");}
      return res;
      }
      }
      normalement après, le f sera inclu dans une boucle.
      cad for(int f=0;f<=10;f++) pour parcourir toute les lignes de ma table.
      merci de ton aide.
    2. le problème c comment enter l'indice f sur lequel je vais faire la boucle pour récupérer à chaque fois le résultat
      f est de type int
      rs = stmt.executeQuery("select * from syst x where code=f");
      f n'est pas pris en compte.
  3. Tu dois faire un "...........code="+f puisque f est une variable c'est pas un nom d'un attribut dans ta table donc tu dois séparer otn code sql et celui en java avec un "+".