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 :

NetBeans ne m'affiche pas le contenu de ma table : problème ODBC


Sujet :

JDBC Java

  1. #301
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 792
    Points
    4 792
    Par défaut
    Pour le PreparedStatement c'est bien comme cela qu'il faut faire.
    Le gros intérêt du truc c'est que cela te gère automatiquement les conversions de Date et de String qui comporte des "'

    Citation Envoyé par Spiicky Voir le message
    Bon de toute manière les utilisateurs ne verront rien... Et cela n'a pas l'air d'entraver le fonctionnement de l'application...
    N'imagine pas une seconde que tu vas laisser cette bombe à retardement derrière toi !!!
    Continue à faire les autres tests lundi sur le reste de l'application mais après il est obligatoire de trouver la cause du plantage.

  2. #302
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    Bonjour Népo, tu as passé un bon week end ?
    De mon coté, j'ai continué à faire quelques testes...

    Alors voilà, j'ai une fonction insertChefChantier() qui bloque.
    Voici l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    java.lang.NullPointerException
            at coactivite2.ChefChantier.insertChefChantier(ChefChantier.java:149)
            at coactivite2.Fenetre.jButtonValiderAjoutCCActionPerformed(Fenetre.java:7343)
            at coactivite2.Fenetre.access$100(Fenetre.java:30)
            at coactivite2.Fenetre$2.actionPerformed(Fenetre.java:675)...
    La ligne 149 correspond à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Connexion connexion = new Connexion();
                connexion.execSql(
                        "INSERT INTO ChefChantier (NomCC, PrenomCC, FonctionCC, TelCC, MailCC, IdSociete) " +
                        "VALUES ('"+nom+"', '"+prenom+"', '"+fonction+"', '"+telCC+"', '"+mail+"', "+idSociete+");");
    connexion.closeConn();
    Alors je me suis dit que c'était parce qu'elle n'était pas prepared ! (Vu que je test avec des mots de type "L'église"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Connexion connexion = new Connexion();
                PreparedStatement ps = connexion.con.prepareStatement(
                        "INSERT INTO ChefChantier (NomCC, PrenomCC, FonctionCC, TelCC, MailCC, IdSociete) "
                        + "VALUES (?, ?, ?, ?, ?, ?);");
                ps.setString(1, nom);
                ps.setString(2, prenom);
                ps.setString(3, fonction);
                ps.setString(3, telCC);
                ps.setString(3, mail);
                ps.setInt(3, idSociete);
                ps.executeUpdate();
     
                connexion.closeConn();
    Toujours le même problème, alors j'ai séparé la déclaration de l'instanciation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    PreparedStatement ps;
                ps = connexion.con.prepareStatement(
                        "INSERT INTO ChefChantier (NomCC, PrenomCC, FonctionCC, TelCC, MailCC, IdSociete) "
                        + "VALUES (?, ?, ?, ?, ?, ?);");
    Et la ben, je sèche, ça ne va toujours pas...

    Je me demande pourquoi je ne comprend pas ce genre d'erreur
    Tu pourrais me mettre sur la piste stp ?

  3. #303
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 792
    Points
    4 792
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
                ps.setString(1, nom);
                ps.setString(2, prenom);
                ps.setString(3, fonction);
                ps.setString(3, telCC);
                ps.setString(3, mail);
                ps.setInt(3, idSociete);
    ça ne peut pas marcher !!!
    tu mets plusieurs fois le même numéro !!!
    (rassure-toi ça m'arrive aussi après un copié/collé mal fait)

  4. #304
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    Oulala... cette honte qui s’abat sur moi dès le matin...

    J'ai fait un nouveau test et je retrouve la même erreur.
    J'ai aussi essayer en partant de 0 mais non ...

    MODIFIED :
    Pour complément d'info, je récupère bien la valeur des variables.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    System.out.print(nom+"\n");
                System.out.print(prenom+"\n");
                System.out.print(fonction+"\n");
                System.out.print(telCC+"\n");
                System.out.print(mail+"\n");
                System.out.print(idSociete+"\n");
    Résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    test1
    wdsfg2
    qdsfvgwqs3
    0606060606
    test@gmail.com
    21

  5. #305
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    J'ai trouvé mon problème !
    J'ai été fouillé un peut dans ma classe Connexion et c'est vrai qu'on déclare Connexion.con mais la connexion est dans getConnexion()...

    Du coup j'ai simplement remplacé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PreparedStatement ps = connexion.con.prepareStatement(
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PreparedStatement ps = connexion.getConnexion().prepareStatement(

  6. #306
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 792
    Points
    4 792
    Par défaut
    Connexion.con est déclarée "public" ?
    Il faut la mettre en "private" pour que ce genre de blague ne se reproduise plus

  7. #307
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    Absolument... en public => correction effectuée.

    Après modification, mon tableau devient totalement vide.
    Est-ce un bug récurrent ou c'est propre à mon appli ?
    Nom : Sans titre.jpg
Affichages : 115
Taille : 111,0 Ko

  8. #308
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 792
    Points
    4 792
    Par défaut
    Si ça se compile, alors le bug n'est pas du à la modification "public" -> "private"

  9. #309
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    En fait il faudrait que je fasse soit :
    - Trouver ce bug ?
    - Ou on s'embête pas et on créer une fonction de type RefreshTable qu'on appellerais après les manip ?

  10. #310
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 792
    Points
    4 792
    Par défaut
    Ah je n'avais pas saisi ... c'est après modification d'une fiche société ?

  11. #311
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    A l'ajout, tout se passe bien, mais à la modification, les items n'apparaissent plus que l'ont décidé de valider la modification ou d'annuler !

    Voici le code du bouton Modifier (si ca peut aider dans les recherches) :
    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
        private void jButtonModifierChargeActionPerformed(java.awt.event.ActionEvent evt) {                                                      
            jTextFieldModifMatriculeCharge.setText((String) jTableCharge.getValueAt(jTableCharge.getSelectedRow(), 0));
            jTextFieldModifNomCharge.setText((String) jTableCharge.getValueAt(jTableCharge.getSelectedRow(), 1));
            jTextFieldModifPrenomCharge.setText((String) jTableCharge.getValueAt(jTableCharge.getSelectedRow(), 2));
            jTextFieldModifFonctionCharge.setText((String) jTableCharge.getValueAt(jTableCharge.getSelectedRow(), 3));
            jTextFieldModifTelCharge.setText((String) jTableCharge.getValueAt(jTableCharge.getSelectedRow(), 4));
            jTextFieldModifPortCharge.setText((String) jTableCharge.getValueAt(jTableCharge.getSelectedRow(), 5));
            jTextFieldModifFaxCharge.setText((String) jTableCharge.getValueAt(jTableCharge.getSelectedRow(), 6));
            jTextFieldModifMailCharge.setText((String) jTableCharge.getValueAt(jTableCharge.getSelectedRow(), 7));
            if(jTableCharge.getValueAt(jTableCharge.getSelectedRow(), 8) == "Non")
            {
                jCheckBoxModifAdminCharge.setSelected(false);
            }
            else
            {
                jCheckBoxModifAdminCharge.setSelected(true);
            }
            jDialogModifCharge.setVisible(true);
    }

  12. #312
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 792
    Points
    4 792
    Par défaut
    Et il n'y a pas de trace d'erreur ? Elle est peut-être interceptée avec un "catch" vide.
    En principe il doit y avoir une méthode pour charger le tableau et cette méthode est appelée à l'ouverture puis en cas de modification / ajout / suppression.
    Peux-tu l'identifier ?

  13. #313
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour

    J'ai pas lu la discussion depuis le début mais juste une remarque:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jTableCharge.getValueAt(jTableCharge.getSelectedRow(), 8) == "Non"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Non".equals(jTableCharge.getValueAt(jTableCharge.getSelectedRow(), 8) ) // ou equalsIgnoreCase (dépendant de ton besoin)
    A+.

  14. #314
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 792
    Points
    4 792
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Bonjour

    J'ai pas lu la discussion depuis le début mais juste une remarque:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Non".equals(jTableCharge.getValueAt(jTableCharge.getSelectedRow(), 8) ) // ou equalsIgnoreCase (dépendant de ton besoin)
    A+.
    Oui en effet, il faut faire cette modification.

  15. #315
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    Merci andry.aime, je suppose que cela permet d'avoir un code plus propre...

    Citation Envoyé par Népomucène Voir le message
    Et il n'y a pas de trace d'erreur ?
    Non, je n'ai aucune StackTrace
    Citation Envoyé par Népomucène Voir le message
    En principe il doit y avoir une méthode pour charger le tableau et cette méthode est appelée à l'ouverture puis en cas de modification / ajout / suppression.
    Peux-tu l'identifier ?
    J'essaye de trouver au plus !

  16. #316
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    Bon voici ce que j'ai trouvé en arrivant :
    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
    /* Méthode permettant d'afficher les sociétés dans le tableau du panneau d'administration */
        public static void AffichageSociete(JTable table)
        {
            try
            {
                DefaultTableModel modele = (DefaultTableModel) table.getModel();
                Vector<Vector<String>> data = null;
                Connexion connexion = new Connexion();
                Connection conn = connexion.getConnexion();
     
                Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
     
                ResultSet resultats = stmt.executeQuery("SELECT * FROM Societe;");
     
                int i = 0;
                Utilitaire.centrerTable(table);
                while(resultats.next())
                {
                    modele.addRow(data);
                    table.setValueAt(resultats.getString(2),i,0);
                    table.setValueAt(resultats.getString(3),i,1);
                    table.setValueAt(resultats.getString(4),i,2);
                    table.setValueAt(resultats.getString(5),i,3);
                    table.setValueAt(resultats.getString(6),i,4);
                    table.setValueAt(resultats.getString(7),i,5);
                    table.setValueAt(resultats.getString(8),i,6);
                    table.setValueAt(resultats.getString(9),i,7);
                    table.setValueAt(resultats.getString(10),i,8);
                    i++;
                }
                resultats.close();
                connexion.closeConn();
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }
        }
    J'ai biensure modifié pour avoir ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Connexion connexion = new Connexion();
    ResultSet resultats = connexion.getResultSet("SELECT * FROM Societe;");...
    Mais ce n'est pas la cause du problème.
    C'est bien la méthode qui nous intéresse ?

    Et après vérification, c'est à l'ajout, la modification (ou pas) et à la suppression que le tableau ne présente plus les items !!!

  17. #317
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 792
    Points
    4 792
    Par défaut
    Oui c'est cela.
    Il me semble que si cette méthode était déclenchée après chaque modification (ajout/suppr/modif) alors on devrait avoir un tableau à jour de ce qui se trouve réellement dans la base.

  18. #318
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    D'accord, pour exemple, j'ai été dans Fenetre.java et repéré jButtonSupprimerSocieteActionPerformed:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        private void jButtonSupprimerSocieteActionPerformed(java.awt.event.ActionEvent evt) {                                                        
            Societe.deleteSociete(jTableSociete);
    }
    J'y ai donc ajouté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Societe.AffichageSociete(jTableSociete);
    Mais cela n'a pas l'air d'opérer

  19. #319
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 792
    Points
    4 792
    Par défaut
    Bon, ben il faut vérifier avec le mode débug si AffichageSociete est bien exécuté quand tu cliques sur le bouton supprimer

  20. #320
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    Rolala je sens que ca va être méga casse tête là...
    En débug tout se passe bien, jusqu'a mon affichage puis après, ca part dans les méandres de NB le tout accompagné de mon appli en blackscreen...
    Avant que tout revienne (mais vide), j'étais sur cette méthode de EventDispatchThread.java.... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        void pumpEventsForFilter(int id, Conditional cond, EventFilter filter) {
            addEventFilter(filter);
            while (doDispatch && cond.evaluate()) {
                if (isInterrupted() || !pumpOneEventForFilters(id)) {
                    doDispatch = false;
                }
            }
            removeEventFilter(filter);
        }
    Faudrait pas plutot contourner le problème ? mais je n'ai aucune idée du comment

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

Discussions similaires

  1. ListView qui change de taille mais n'affiche pas le contenu d'une ObservableCollection
    Par Atellane dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 14/08/2014, 10h46
  2. DataGrid n'affiche pas le contenu de certaines colonnes d'un Datatable
    Par alucia dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 20/09/2013, 13h39
  3. .load qui n'affiche pas le contenu de la page
    Par tonydu91 dans le forum jQuery
    Réponses: 4
    Dernier message: 06/04/2013, 23h58
  4. [SimpleXML] Problème avec simpleXML : il n'affiche pas le contenu de mon élément
    Par ploxien dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 05/05/2007, 19h43
  5. GUI Java par netbeans - ne s'affiche pas
    Par G_angel dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 31/01/2007, 11h38

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