Aide code java :!

Résolu
supupoff Messages postés 312 Date d'inscription   Statut Membre Dernière intervention   -  
supupoff Messages postés 312 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir,

j'arrive pas comprendre rien n'affiche dans jTable alors
je teste avec System.out.println(table);

il m'affiche : com.mysql.jdbc.JDBC4ResultSet@1787338

partie code requette
public ArrayList<Activiter>ListeActiviter()
      {
          ArrayList liste2= new ArrayList();
          try{
          Module Objmod = new Module();
          ResultSet table;
          table = Objmod.listar("Select * FROM user,activiter,projet where activiter.IDProjet=projet.IdProjet And projet.iduser=user.id ");
          System.out.println(table); // pour tester
          Activiter Objart;
              Objart = null;
               
          while(table.next()){
         .....

          liste2.add(Objart);
          
          }
          }catch(Exception e){
          javax.swing.JOptionPane.showMessageDialog(null,e.getMessage());
          
          }
            return liste2;
           
          }


alors System.out.println m'affiche com.mysql.jdbc.JDBC4ResultSet@1787338

ceci la méthide listar

public ResultSet listar (String Cad)
   {
   try{
    Class.forName(driver).newInstance();
    Connection cn=DriverManager.getConnection(url,dbUserId,dbPassword);
    
   PreparedStatement da = cn.prepareStatement(Cad);
   ResultSet tb1 = da.executeQuery();
   return tb1;
   }catch(ClassNotFoundException | InstantiationException | IllegalAccessException | SQLException e){
          javax.swing.JOptionPane.showMessageDialog(null,e.getMessage());
          return null;
          }
   }
A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
C'est comme pour les tableaux (et d'autres), afficher un ResultSet n'affiche pas les valeurs sur lesquels il opère !

Fais plutôt un affichage de liste2, ça fonctionnera mieux...
0
supupoff Messages postés 312 Date d'inscription   Statut Membre Dernière intervention   34
 
comment?!
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
System.out.println(liste2); avant de faire ton return liste2;
0
supupoff Messages postés 312 Date d'inscription   Statut Membre Dernière intervention   34
 
affiche: [ ]
0
supupoff Messages postés 312 Date d'inscription   Statut Membre Dernière intervention   34
 
ici le select ne return rien que erreur > com.mysql.jdbc.JDBC4ResultSet@1787338 < pr cela liste2 sera vide :
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
com.mysql.jdbc.JDBC4ResultSet@1787338 ce n'est pas une erreur, c'est l'affichage par défaut que te renvoie ta ligne System.out.println(table);

Si la liste2 affiche [] c'est tout simplement que ton ResultSet est vide ! Tu peux faire comme ça pour compter le nombre d'éléments, mais puisque ton ResultSet est vide, tu devrais avoir n=0...

ArrayList liste2= new ArrayList();

try
{
    ResultSet table = ...
    
    int n=0;
    while(table.next())
    {
        n++;
        ...
        Activiter Objart = ...
        System.out.println(Objart);
        liste2.add(Objart);
    }
}
catch(Exception e)
{
    System.err.println(e);
    //javax.swing.JOptionPane.showMessageDialog(null,e.getMessage());
}

System.out.println("n="+n);
System.out.println("liste2="+liste2);
return liste2;
0