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

Windows Forms Discussion :

Problème insertion de données dans DB Access


Sujet :

Windows Forms

  1. #1
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut Problème insertion de données dans DB Access
    Rebonjour à tous.

    Je sais qu'il y a un sujet similaire en ce moment même mais c'est pas vraiment la même chose au niveau du code donc je poste un autre topic...

    Donc, je souhaite, à l'aide de TextBox et d'un bouton, ajouter de nouvelles données dans une table de ma DB Access.
    Voici mon code :
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    ConnectToDB connect = new ConnectToDB();
     
    // Déclarations de variables utilisables sur tout le projet.
    public static string nomNotice = string.Empty;
    public static DateTime dateNotice;
    public static string nomReaNotice = string.Empty;
    public static string refNotice = string.Empty;
    public static int verNotice = 0;
     
    private void bt_add_notice_Click(object sender, EventArgs e)
    {
       if ((tb_nom_notice.Text == "") || (dtp_notice.Value == null) || (tb_nom_rea.Text == "") || (tb_version.Text == ""))
       {
           MessageBox.Show("Un champ est vide, veuillez le remplir.");
       }
       else
       {
          // Les variables reçoivent les données saisies.
          nomNotice = tb_nom_notice.Text;
          dateNotice = dtp_notice.Value;
          nomReaNotice = tb_nom_rea.Text;
          refNotice = tb_ref.Text;
          verNotice = Convert.ToInt32(tb_version.Text);
     
          connect.fctConnectDB();
          OleDbCommand addNewNotice = new OleDbCommand("Insert into Fiche (NomFiche, DateFiche, NomReaFiche, RefFiche, VerFiche) values(@nomNotice, @dateNotice, @nomRea, @refNotice, @verNotice)");
          addNewNotice.Connection = connect.ConnectionDB;
     
          // Création des paramètres de la requête.
          OleDbParameter paramNomNotice = addNewNotice.CreateParameter();
          paramNomNotice.ParameterName = "@nomNotice";
          paramNomNotice.OleDbType = OleDbType.VarChar;
          paramNomNotice.Direction = ParameterDirection.Input;
          paramNomNotice.Value = nomNotice;
     
          OleDbParameter paramDateNotice = addNewNotice.CreateParameter();
          paramDateNotice.ParameterName = "@dateNotice";
          paramDateNotice.OleDbType = OleDbType.Date;
          paramDateNotice.Direction = ParameterDirection.Input;
          paramDateNotice.Value = dateNotice;
     
          OleDbParameter paramNomRea = addNewNotice.CreateParameter();
          paramNomRea.ParameterName = "@nomRea";
          paramNomRea.OleDbType = OleDbType.VarChar;
          paramNomRea.Direction = ParameterDirection.Input;
          paramNomRea.Value = nomReaNotice;
     
          OleDbParameter paramRefNotice = addNewNotice.CreateParameter();
          paramRefNotice.ParameterName = "@refNotice";
          paramRefNotice.OleDbType = OleDbType.VarChar;
          paramRefNotice.Direction = ParameterDirection.Input;
          paramRefNotice.Value = refNotice;
     
          OleDbParameter paramVerNotice = addNewNotice.CreateParameter();
          paramVerNotice.ParameterName = "@refNotice";
          paramVerNotice.OleDbType = OleDbType.Integer;
          paramVerNotice.Direction = ParameterDirection.Input;
          paramVerNotice.Value = verNotice;
     
          addNewNotice.Parameters.Add(paramNomNotice);
          addNewNotice.Parameters.Add(paramDateNotice);
          addNewNotice.Parameters.Add(paramNomRea);
          addNewNotice.Parameters.Add(paramRefNotice);
          addNewNotice.Parameters.Add(paramVerNotice);
     
          connect.fctDisconnectDB();
       }
    }
    Le code de ma classe ConnectToDB au cas où...
    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
    class ConnectToDB
    {
       public System.Data.OleDb.OleDbConnection ConnectionDB;
       // Fonction de connexion à la DB.
       public void fctConnectDB()
       {
          ConnectionDB = new OleDbConnection();
          ConnectionDB.ConnectionString = "Provider=microsoft.jet.oledb.4.0;Data Source=NoticePoste_be.mdb";
          ConnectionDB.Open();
       }
     
       // Fonction de déconnexion à la DB.
       public void fctDisconnectDB()
       {
          ConnectionDB.Close();
          ConnectionDB.Dispose();
          ConnectionDB = null;
       }
    }
    Le souci c'est que l'enregistrement n'est pas créé et je n'ai aucun message d'erreur...
    Je me demandais si ça n'avait pas un rapport avec le fait que ma table Fiche a également un champ IdFiche qui est en numéro auto mais j'ai essayé de rajouter un param @idNotice qui prends pour valeur 3 (parce que je n'ai que 2 enregistrements dans la table fiche pour l'instant) mais ça n'a rien changé...

    Est-ce que quelqu'un pourrait m'aider SVP ?
    Par avance, merci.

    PS : skunkies si tu lis ce post, oui j'ai fait des requêtes paramétrées ! Y'a que les c*** qui changent pas d'avis

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    c'est très bien mais une fois la commande créée il faut l'exécuter avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myCommand.ExecuteNonQuery();

  3. #3
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut
    Euh t'es sur qu'on est obligé de mettre ça ? Nan parce que j'ai une autre requête sur un autre form et je ne mets pas cette méthode et ça marche très bien...
    Voici le code en question :
    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
    private void bt_vérifier_Click(object sender, EventArgs e)
    {
       // Met la DataSource du DataGridView à null.
       dgv_nom_doc.DataSource = null;
       // Création d'une DataTable.
       DataTable dt_fiche = new DataTable();
     
       string nomFiche = tb_verif_nom_notice.Text;
       connect.fctConnectDB();
       OleDbCommand getNomFiche = new OleDbCommand("Select * from Fiche where NomFiche like '" + nomFiche + "'");
       getNomFiche.Connection = connect.ConnectionDB;
       OleDbDataAdapter da_fiche = new OleDbDataAdapter(getNomFiche); // Création d'un DataAdapter qui contient le résultat de la requête.
       da_fiche.Fill(dt_fiche);
       connect.fctDisconnectDB();
     
       // Création d'un BindingSource.
       BindingSource bs_fiche = new BindingSource();
       bs_fiche.DataSource = dt_fiche;
       // On affecte le nouveau BindingSource à la DataSource du DataGridView.
       dgv_nom_doc.DataSource = bs_fiche;
     
       bt_annuler_recherche.Visible = true;
    }
    Bon elle n'est pas encore paramétrée mais j'y mettrais à jour ^^

    Mais voilà et la requête s'exécute très bien sans pour autant rajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getNomFiche.ExecuteNonQuery();
    Ceci dit j'ai pas voulu mourir con et j'ai essayé ce que tu m'as dit pour l'autre requêt (la Insert) et ça n'a rien changé...
    J'ai inséré la ligne que tu m'as dit juste avant la fonction de déconnexion.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    Desolé je n'ai pas le temps de me plonger dans ton code ,je te donne ce que j'ai fait dans le meme genre cela t'aidera.

    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
    // Connexion à la base de données
                        OleDbConnection cnxTestAccessImage = new OleDbConnection(connectionString);
                        cnxTestAccessImage.Open();
     
                        // Insere l'image dans la base
                        OleDbCommand cmdTestAccessImage = new OleDbCommand("INSERT INTO tblBATClients ([IDClient],[Image], [Commentaire]) VALUES (?,?, ?)", cnxTestAccessImage);
     
                        cmdTestAccessImage.Parameters.Add(new OleDbParameter("IDClient", System.Data.OleDb.OleDbType.VarWChar, 50,
                            ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, tBoxRaisonSociale.Text));
                        cmdTestAccessImage.Parameters.Add(new OleDbParameter("Image", OleDbType.VarBinary, bytImage.Length,
                            ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, bytImage));
                        cmdTestAccessImage.Parameters.Add(new OleDbParameter("Commentaire", System.Data.OleDb.OleDbType.VarWChar, 50,
                            ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, txtCommentaire.Text));
                        cmdTestAccessImage.ExecuteNonQuery();
                        cnxTestAccessImage.Close();
    je gere la connexion directement dans ma fonction

  5. #5
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut
    Ouais tu mets bien le ExecuteNonQuery() après la création des paramètres de ta requête, c'est ce que j'ai fait, mais l'enregistrement ne se fait pas

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    la forme de ma requete insert n'est pas la meme .
    j'ai des ? en temps que param toi tu as des @XXX

    Essaie de voir les differences.
    Bon courage

  7. #7
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut
    Si quelqu'un a le temps voici tout le code du bouton qui doit me créer l'enregistrement :
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    ConnectToDB connect = new ConnectToDB();
     
    // Déclarations de variables utilisables sur tout le projet.
    public static string nomNotice = string.Empty;
    public static DateTime dateNotice;
    public static string nomReaNotice = string.Empty;
    public static string refNotice = string.Empty;
    public static int verNotice = 0;
     
    private void bt_add_notice_Click(object sender, EventArgs e)
    {
       if ((tb_nom_notice.Text == "") || (dtp_notice.Value == null) || (tb_nom_rea.Text == "") || (tb_version.Text == ""))
       {
           MessageBox.Show("Un champ est vide, veuillez le remplir.");
       }
       else
       {
          // Les variables reçoivent les données saisies.
          nomNotice = tb_nom_notice.Text;
          dateNotice = dtp_notice.Value;
          nomReaNotice = tb_nom_rea.Text;
          refNotice = tb_ref.Text;
          verNotice = Convert.ToInt32(tb_version.Text);
     
          connect.fctConnectDB();
          OleDbCommand addNewNotice = new OleDbCommand("Insert into Fiche (NomFiche, DateFiche, NomReaFiche, RefFiche, VerFiche) values(@nomNotice, @dateNotice, @nomRea, @refNotice, @verNotice)");
          addNewNotice.Connection = connect.ConnectionDB;
     
          // Création des paramètres de la requête.
          OleDbParameter paramNomNotice = addNewNotice.CreateParameter();
          paramNomNotice.ParameterName = "@nomNotice";
          paramNomNotice.OleDbType = OleDbType.VarChar;
          paramNomNotice.Direction = ParameterDirection.Input;
          paramNomNotice.Value = nomNotice;
     
          OleDbParameter paramDateNotice = addNewNotice.CreateParameter();
          paramDateNotice.ParameterName = "@dateNotice";
          paramDateNotice.OleDbType = OleDbType.Date;
          paramDateNotice.Direction = ParameterDirection.Input;
          paramDateNotice.Value = dateNotice;
     
          OleDbParameter paramNomRea = addNewNotice.CreateParameter();
          paramNomRea.ParameterName = "@nomRea";
          paramNomRea.OleDbType = OleDbType.VarChar;
          paramNomRea.Direction = ParameterDirection.Input;
          paramNomRea.Value = nomReaNotice;
     
          OleDbParameter paramRefNotice = addNewNotice.CreateParameter();
          paramRefNotice.ParameterName = "@refNotice";
          paramRefNotice.OleDbType = OleDbType.VarChar;
          paramRefNotice.Direction = ParameterDirection.Input;
          paramRefNotice.Value = refNotice;
     
          OleDbParameter paramVerNotice = addNewNotice.CreateParameter();
          paramVerNotice.ParameterName = "@refNotice";
          paramVerNotice.OleDbType = OleDbType.Integer;
          paramVerNotice.Direction = ParameterDirection.Input;
          paramVerNotice.Value = verNotice;
     
          addNewNotice.Parameters.Add(paramNomNotice);
          addNewNotice.Parameters.Add(paramDateNotice);
          addNewNotice.Parameters.Add(paramNomRea);
          addNewNotice.Parameters.Add(paramRefNotice);
          addNewNotice.Parameters.Add(paramVerNotice);
     
          addNewNotice.ExecuteNonQuery();
          connect.fctDisconnectDB();
       }
    }

  8. #8
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut
    Bonjour bonjour !

    Bon skunkies j'ai essayé de faire comme toi : ma requête avec des "?" en paramètre et la déclaration de paramètres est faite comme toi tu fais, mais ça n'a rien changé...

    Voilà ce que ça donne maintenant :
    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
    string nomNotice = tb_nom_notice.Text;
    DateTime dateNotice = dtp_notice.Value;
    string nomReaNotice = tb_nom_rea.Text;
    string refNotice = tb_ref.Text;
    int verNotice = Convert.ToInt32(tb_version.Text);
     
    connect.fctConnectDB();
    OleDbCommand cmdAddNewNotice = new OleDbCommand("INSERT INTO Fiche ([NomFiche], [DateFiche], [NomReaFiche], [RefFiche], [VerFiche]) VALUES(?, ?, ?, ?, ?)");
    cmdAddNewNotice.Connection = connect.ConnectionDB;
     
    cmdAddNewNotice.Parameters.Add(new OleDbParameter("NomFiche", System.Data.OleDb.OleDbType.VarChar, 50, 
        ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, nomNotice));
    cmdAddNewNotice.Parameters.Add(new OleDbParameter("DateFiche", System.Data.OleDb.OleDbType.Date, 50, 
        ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, dateNotice));
    cmdAddNewNotice.Parameters.Add(new OleDbParameter("NomReaFiche", System.Data.OleDb.OleDbType.VarChar, 50, 
        ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, nomReaNotice));
    cmdAddNewNotice.Parameters.Add(new OleDbParameter("RefFiche", OleDbType.VarChar, 50, 
        ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, refNotice));
    cmdAddNewNotice.Parameters.Add(new OleDbParameter("VerFiche", OleDbType.Integer, 50, 
        ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, verNotice));
     
    cmdAddNewNotice.ExecuteNonQuery(); // Exécute la requête.
    connect.fctDisconnectDB();
    Et donc l'ajout à ma DB n'est pas fait...


  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    En es tu sur???
    Je viens de faire un test avec ton code et cela marche nikel!
    Est ce que tu verifies bien dans la bonne base access?

  10. #10
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut
    Oui je vérifie dans la bonne...

    J'ai même vérifié dans des copies de ma DB et aucunes n'a reçu les données saisies...

    Pourquoi toi ça marche et pas moi ? xD

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    ben la je ne sais pas du tout.
    Tu veux mon projet?

  12. #12
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut
    Ben écoute ouais j'veux bien si ça peut m'aider à trouver pourquoi pas...

    Envoie le moi par mail au pire (en .rar please ^^)

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    je t'envoi un MP avec mon add msn

  14. #14
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut
    ok Thanks ^^

    Bon si d'autres personnes pensent savoir d'où vient mon problème n'hésitez pas à poster vos solutions lol

  15. #15
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut
    Bon ben c'est bon ça marche.

    En fait le problème venait du fait que ma DB dans le dossier debug était bien mise à jour (recevait les données insérées) mais j'ai la même DB qui se trouve dans le projet lui même (dans le dossier où il y a toutes les classes etc) et du coup quand je j'exécutais mon projet à nouveau à partir de VS 2005, ben les données dans debug était écrasées.

    Merci skunkies

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/07/2010, 23h43
  2. [MySQL] Problème insertion de données dans une table (via formulaire)
    Par bond70 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 23/04/2010, 16h48
  3. Problème INSERTION de données dans une bdd
    Par kiradeus dans le forum Django
    Réponses: 12
    Dernier message: 15/02/2010, 18h06
  4. [OpenOffice][Tableur] Problème insertion de donnes dans textfield ou numeric
    Par stargates dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 02/09/2008, 16h27
  5. [MySQL] Problème insertion de données dans table Mysql
    Par Malcolm78 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/10/2007, 17h25

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