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

VB.NET Discussion :

Connexion VB 2010 Express à SQL Server 2008 Express [Débutant]


Sujet :

VB.NET

  1. #21
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 258
    Points : 126
    Points
    126
    Par défaut
    Merci de votre patience !!
    Ci dessous le fill du DataAdapter intègre (ou est équivalent à) un datareader ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataAdapter.Fill(DataTable)
    Donc si je remplace datatable par dataset, ça devrait marcher ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
              Mycommand.CommandText = "SELECT TBP_ID ....  FROM ..."
                Dim DataAdapter2 As New SqlClient.SqlDataAdapter(Mycommand)
                Dim topics As New DataSet
                DataAdapter2.Fill(topics)
                DataGridView3.DataSource = topics
    et ça ne marche pas ..

    je vais essayer de trouver des codes pour m'éclaircir les idées
    encore merci
    Bertrand

  2. #22
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 153
    Points : 25 071
    Points
    25 071
    Par défaut
    le framework .net est en grande partie codée en .net, et on peut voir le code source
    le sub fill appelle à un moment un datareader, fait un while reader.read et remplie le datatable qu'on lui fournit

    comme dit précédemment le dataset sert à contenir plusieurs datatable (enfin il me semble, car je n'ai jamais vraiment utilisé ces objets)
    auquel cas il faudrait faire fill(mondataset.tables("nom locale du datatable contenu")
    (et donc avoir fait préalablement dataset.tables.add(new datatable("nom")) ou un truc dans le genre)

    enfin vu que les assistants font des dataset, tu peux jeter un oeil dans les fichiers *.designer pour voir réellement ce qui est fait
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #23
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 258
    Points : 126
    Points
    126
    Par défaut
    Bonsoir,
    Pour le dataset, je vais chercher !!

    Pour le datatable : je "m'amuse" avec les requêtes pour voir si je peux me passer du dataset

    Pour les requêtes d'insertion, je perds toujours bcp de temps avec le positionnement correct des ' et des "

    Existe t il une façon plus élégante d'écrire les requête et qui évite l'utilisation des ' et " pour les champs string pouvant contenir des espaces ?

    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
     
          Dim MaBDD As String
            MaBDD = "Phila027hSQL"
     
             Dim MyConnexion As New SqlConnection
            MyConnexion.ConnectionString = "Data Source=PC-DE-BERTRAND\SQLEXPRESS;Initial Catalog=" & MaBDD & ";Integrated Security=SSPI"
            Dim Mycommand As SqlCommand = MyConnexion.CreateCommand()
            Dim Dentelure As String = Me.TxtDentelure.Text
            Dim DentelureCourt As String = Me.TxtDentelureCourt.Text
     
            Mycommand.CommandText = "INSERT INTO TR_DENTELURE (DTL_LIB, DTL_COURT) VALUES ('" & Dentelure & "','" & DentelureCourt & "');"
            Try
                MyConnexion.Open()
                Mycommand.ExecuteNonQuery()
                MyConnexion.Close()

  4. #24
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 153
    Points : 25 071
    Points
    25 071
    Par défaut
    je vois pas le rapport avec les espaces, même sans espace un string est obligatoire entre quote
    par contre tu peux déjà tester ton code en mettant un apostrophe dans un textbox pour voir ce que ca fait

    il y a une solution, à utiliser pour les string, les date et les decimaux au minimum, les nombre entier posent rarement problème, enfin tout ce qui vient de l'interface utilisateur il faut se méfier ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cmd.commandtext = "INSERT INTO TR_DENTELURE (DTL_LIB, DTL_COURT) VALUES (@dentelure, @dentelurecourt)"
    cmd.parameters.addwithvalue("@dentelure",Me.TxtDentelure.Text)
    ' idem pour l'autre
    il y a des tutos la dessus, avec surement les explications de comment et pourquoi (culture invariante, injection sql ...)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #25
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 258
    Points : 126
    Points
    126
    Par défaut
    Pour les espaces, je ne sais plus pourquoi ; j'ai fait pas mal d'essais avec '" ou "' car je ne me rappelle jamais la règle dès la 1ère fois
    La solution des @ est par contre bcp plus élégante (pour l'explication ..)

    pour le dataset :
    j'ai trouvé sur une vidéo en anglais sur Youtube sur le langage C#:
    J'ai essayé de transposer, ça donne ça et ça marche !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                Mycommand.CommandText = "SELECT DTL_ID, DTL_LIB, DTL_COURT FROM TR_DENTELURE"
                Dim DataAdapter As New SqlClient.SqlDataAdapter(Mycommand)
                Dim MyDataSet As New DataSet
                DataAdapter.Fill(mydataset)
                DataGridView1.DataSource = MyDataSet.Tables(0)

  6. #26
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 153
    Points : 25 071
    Points
    25 071
    Par défaut
    il manquait pas grand chose

    en sql le séparateur de string est '
    en vb c'est "

    pour symboliser l'un de ses caractères au sein d'un string il faut le doubler

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dim a as string = """" ' 4x le guillement double
    a vaut alors " (un guillement double)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #27
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 258
    Points : 126
    Points
    126
    Par défaut
    Hum, .. comment dire ?
    Je préfère et loin la solution @dentelure

    J'ai essayé le bindingsource pour le déplacement
    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
            Dim MaBDD As String
            MaBDD = "Phila027hSQL"
     
            ' définission de la connexion
            Dim MyConnexion As New SqlConnection
            MyConnexion.ConnectionString = "Data Source=PC-DE-BERTRAND\SQLEXPRESS;Initial Catalog=" & MaBDD & ";Integrated Security=SSPI"
            Dim Mycommand As SqlCommand = MyConnexion.CreateCommand()
     
            Try
                MyConnexion.Open()
     
                Mycommand.CommandText = "SELECT DTL_ID, DTL_LIB, DTL_COURT FROM TR_DENTELURE"
                Dim DataAdapter As New SqlClient.SqlDataAdapter(Mycommand)
                Dim MyDataSet As New DataSet
                Dim TblnameBS As New BindingSource
                DataAdapter.Fill(MyDataSet)
                DataGridView1.DataSource = MyDataSet.Tables(0)
                TblnameBS.DataSource = MyDataSet.Tables(0)
     
                TxtDentelure.DataBindings.Add(New Binding("Text", TblnameBS, "DTL_LIB"))
                TxtDentelureCourt.DataBindings.Add(New Binding("Text", TblnameBS, "DTL_COURT"))
     
                MyConnexion.Close()
    ça devrait marcher, mais malgré que ce sub soit déclaré public, je n'arrive pas à retrouver le
    en dehors de ce sub pour l'affecter aux boutons de déplacement ??

  8. #28
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 153
    Points : 25 071
    Points
    25 071
    Par défaut
    Dim TblnameBS As New BindingSource

    cherche un cours sur la portée des membres/variables (private/friend/protected/public, variable de classe, sortie de bloc ...)

    ici le dim placé comme il est fait que la variable n'existe plus à la sortie du try
    et une chose qui risque de te perturber l'esprit, TblnameBS passe même à Nothing à la sortie du try ^^

    enfin il te faut une variable de classe
    et peut etre finir la lecture du cours de p lasserre ^^
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  9. #29
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 258
    Points : 126
    Points
    126
    Par défaut
    Oui, je crois qu'à essayer de griller les étapes !!
    Merci et bonne soirée !

  10. #30
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 065
    Points : 4 229
    Points
    4 229
    Par défaut
    sinon une autre possibilité est de créer ton edmx (pour entity framework) ou dbml (LinqToSql) depuis web developper express edition et de l'importer dans ton projet sous visual studio express

  11. #31
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 258
    Points : 126
    Points
    126
    Par défaut
    Bonjour,
    Je crois vraiment qu'il faut que je retourne à la formation sus citée, car mon niveau actuel ne me permet pas de tout comprendre (web developper ??)
    J'aurais d'autres questions plus générales :
    - je dois retranscrire en VB des formulaires de recherche mufti-critéres réalisés sous Access (cf tuto de cafeine, si je me rappelle bien) : la démarche est elle la même : création d'une requête selon les critères choisis, ou existe il une solution plus simple à mettre en œuvre ? (sur certains formulaires, jusqu'à une vingtaine de critères, la rédaction de la chaine SQL étant toujours laborieuse)
    - existe t il une formulation de requête SQL permettant de dupliquer (cloner) un enregistrement sans avoir à re-spécifier tout les champs? (sachant qu'un champ est une clé ID auto incrémenté)
    - alors qu'avec Access, la création d'un Form est très rapide (avec un peu d'habitude), cela a l'air plus lourd sous VB (et surement avec tout autre langage) à cause de la structure client/server. Comment peut t on rendre plus générique toute cette partie connexion, database.. faut il le faire avec des classes ou des fonctions ?
    Merci encore de votre patience face à mes demandes de béotien
    Bonne journée
    Bertrand

  12. #32
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 153
    Points : 25 071
    Points
    25 071
    Par défaut
    web developper express doit être le pendant vb express / c# express pour faire des sites web (asp.net) et youtpout sous entend que linq to sql et entity framework y sont inclus, auquel cas tu pourrais faire un copier coller du code généré

    sinon sql server ce et sql server ayant les même objets de connexion ta précédente idée est aussi valable


    pour le multicritère, si tu n'as pas trop de données (quelques milliers de lignes) tu peux tout ramener, et faire le filtre en ram depuis vb
    datatable et dataset permettent de faire du tri, des filtres etc...

    pour insert depuis une autre ligne il faut spécifier tous les champs si l'un est autoincrément
    mais ca se fait en 3 clics et 2 coups de clavier
    tu vas dans sql server management studio, tu tapes insert into table (, tu glisses l'icone de dossier "colonnes" qui est sous la table
    ca écrit toutes les colonnes avec des ,
    tu supprimes celui qui est auto incrément, tu rajoutes ) select , tu remets la liste des colonnes et le from

    pour gagner du temps, on général on fait un classe d'accès aux données
    tu peux par exemple faire une classe avec une méthode qui demande une requete et qui retourne un dataset
    comme ca sur les forms, tu n'auras qu'une ligne de code du genre mondgv.datasource = data.getdataset("select * from table")
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  13. #33
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 258
    Points : 126
    Points
    126
    Par défaut
    Bonsoir et merci encore,

    Pour la partie contournement de l'assistant, je verrai plus tard !
    La solution de créer une classe intelligente (quand je saurai la faire) me séduit bien, car si j'ai bien compris et si elle est bien faite, on doit pourvoir l'utiliser (moyennant changement de paramètres ) avec plusieurs types de BDD (Mysql,..) si les requête ont la même syntaxe

    J'avais oublié la possibilité d'utiliser le générateur de requête de SQL Server Management studio, merci !!
    Il faudra que j'essaie, car j'avais lu qqpart qu'une requête ne pouvait pas lire et écrire en même temps (j'avais lu aussi que le ORDER n'était pas possible sur SQL Server, alors que j'ai essayé et ça marche)

    Pour le formulaire de recherche , je vais lancer la requête une fois les choix faits, car sinon ça risque de ramer (c'est essentiellement pour cela que je veux migrer d'Access)

    Pour un formulaire de recherche basé sur des images (genre site d'achat en ligne, ou on choisit un item en cliquant sur une image accompagnée d'un court texte) on utilise un quoi , un datagrid ?

    Merci encore
    Bertrand

  14. #34
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 153
    Points : 25 071
    Points
    25 071
    Par défaut
    une requete qui lit et écrit en même temps ? tu veux dire quoi par là ?
    le order fonctionne, je confirme (de toute facon il n'y a pas grand chose qui manque sur sql server)

    listview = image+texte sélectionables
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  15. #35
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 258
    Points : 126
    Points
    126
    Par défaut
    Bonsoir,
    J'avais bien pensé à une requête INSERT INTO ... SELECT
    J'ai donc lancé une recherche sur google pour cette dupli d'enregistrement (le pb des clés ID me chagrinait, et j'avais vu des posts ou il fallait d'abord rechercher le dernier ID crée, l'incrémenter et reformuler une requête INSERT)
    Et je suis tombé sur un post (pas moyen de retrouver lequel) ou il était indiqué qu'une même requête ne pouvait pas lire (SELECT) et écrire en même temps (INSERT), ça m'a paru très bizarre !
    M'enfin on trouve tout sur le net !

    Pour le ORDER, idem mais il me semble bien que c'était sur ce site, par contre comme cela me semblait bizarre, je l'avais testé de suite pour voir que c'était faux !

    Bonne soirée

  16. #36
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 258
    Points : 126
    Points
    126
    Par défaut
    J'en ai retrouvé un morceau :

    Pour info la commande....n'est pas valable pour la question en effet il est pas possible d'écrire une table que l'on lit

    ça m'a semblé bizarre car je le fait avec Access (mais pas essayé avec SQL Server)

  17. #37
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 153
    Points : 25 071
    Points
    25 071
    Par défaut
    il est tout à fait possible de lire une table pour écrire dans la même afin de dupliquer des enregistrement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into tableA (ch1, ch2) select ch1, ch2 from tableA Where condition
    de toute facon des milliers de personne peuvent lire une table pendant que d'autres milliers écrive dedans, alors sql server n'est pas à ca près

    s'il y a un auto incrément il se débrouille ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  18. #38
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 258
    Points : 126
    Points
    126
    Par défaut
    Pour le site cité : no comment !
    Pour l'article sur le ORDER, pas moyen de le retrouver .. j'abandonne !
    Merci pour tout !

  19. #39
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 258
    Points : 126
    Points
    126
    Par défaut
    Une autre !
    Avec Access, pour mon formulaire de recherche, j’utilise un Combobox lié à une table avec comme champ lié : l'ID (non affiché) + libellé du champ (affiché) : combobox à 2 colonnes, dont 1 seule affichée
    En VB dois je utiliser : DisplayMember & ValueMember ?
    Merci

  20. #40
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 258
    Points : 126
    Points
    126
    Par défaut
    Bonjour,
    Je viens de me rendre compte que dans le feu de l'action, ce post a de ma faute largement débordé du sujet d'origine !
    Je vais donc le clore en remerciant chacun des intervenants et surtout Pol63 de leur patience et de leur pédagogie
    Ce post m'a été très utile et m'a permis de progresser énormément !!
    J'utiliserai (et abuserai) donc encore ce forum pour mes questions à venir
    Merci encore
    Bertrand

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Changement de SQL SERVER 2005 express à SQL SERVER 2008
    Par bouali.ali3 dans le forum Administration
    Réponses: 0
    Dernier message: 26/02/2013, 11h32
  2. Erreur de connexion à SQL Server 2008 express
    Par NTIC13 dans le forum MS SQL Server
    Réponses: 36
    Dernier message: 21/01/2011, 18h14
  3. Réponses: 4
    Dernier message: 02/04/2010, 17h25
  4. Pas de connexion avec SQL Server 2008 Express
    Par jloois dans le forum Projets ADP
    Réponses: 6
    Dernier message: 08/02/2010, 14h03
  5. connexion entre netbeans6.5 et sql server 2008 express
    Par supernicoco dans le forum NetBeans
    Réponses: 5
    Dernier message: 26/02/2009, 10h40

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