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

C# Discussion :

Mysql select where in (..)


Sujet :

C#

  1. #1
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Mysql select where in (..)
    Bonjour

    Je me pose des question sur la bonne maniere d'ecrire un select where in (...)
    en MySql + Csharp

    Sachant que dans le cas (...) peut representer une liste de 1 a qq dizaines de integer

    Trivial : construire une chaine (a,b,c,d,e,...)
    Requette parametrée ? : si oui comment ??
    Linq : si oui comment avec MySql ?

    Merci de votre aide, suggestions

  2. #2
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    salut olibara,

    MySQL reçoit dans tous les cas une simple chaine de caractères donc la concaténation pour créer l'ensemble a tester n'est pas si trivial ... c'est mon avis ...

  3. #3
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Salut Lorenzo

    Pour moi la concaténation d'une liste de Int dans une chaine (a,b,c,d...) c'est pas bien sorcier mais je ne crois pas qu'une requete parametrée soit appropriée dans ce cas.

    Ce qui est déja plus amusant c'est la construction dynamique d'une chaine where avec plusieurs conditions !

    Reste Linq et je m'interroge sur ce que Linq (que je n'ai jamais explicitement utilisé) apporte comme facilité pour ce type de requete

  4. #4
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    euh...le Linq, c'est avec sql server

  5. #5
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Tu a raison !

    Mais pour ma culture j'aimerais connaitre la solution proposée par Linq

  6. #6
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    Je ne m'y suis pas encore mis mais ceci pourra t'aider

  7. #7
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Salut,

    pour les bases de donnees (Linq2Sql), il faut savoir que la solution linq a ete "tuee" par Microsoft recemment, maintenant, mieux vaut partir sur du entity framework (Linq tout court restant bien sur utilisable )

    Pour Mysql, je crois qu'il est prevu un connecteur ef to MySQL, mais il a l'air d'etre en standby pour le moment...

    Sinon, pourquoi ne pas utiliser Subsonic ?
    (Ceci etait un message de pub pour subsonic )


    ------------

    Tiens d'ailleurs, Rob Conery vient de sortir une preview de Subsonic 3 ...qui supporte Linq

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par fally Voir le message
    euh...le Linq, c'est avec sql server
    Citation Envoyé par olibara Voir le message
    Tu a raison !
    Non, pas du tout... Linq to SQL est pour SQL Server, pas Linq en général.
    Avec Entity Framework, c'est théoriquement possible d'utiliser Linq sur n'importe quelle BDD, mais pour MySQL ce n'est pas encore au point à ma connaissance... (il y a eu un "webinar" sur le sujet récemment, mais je l'ai manqué... faudrait voir ce qu'il en est ressorti)

    Citation Envoyé par olibara Voir le message
    Mais pour ma culture j'aimerais connaitre la solution proposée par Linq
    ce serait un truc dans ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    List<int> uneListe = new List<int>() { 1, 2, 3, 4, 5 };
    var results =
        from x in uneTable
        where uneList.Contains(x.unChamp)
        select x;

  9. #9
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Non, pas du tout... Linq to SQL est pour SQL Server, pas Linq en général.
    Avec Entity Framework, c'est théoriquement possible d'utiliser Linq sur n'importe quelle BDD
    j'ai effectivement mélangé linq et linq2sql
    je profite pour demander; avec quels autres sgbd peut-on faire du linq?

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par fally Voir le message
    j'ai effectivement mélangé linq et linq2sql
    je profite pour demander; avec quels autres sgbd peut-on faire du linq?
    Pour l'instant pas beaucoup, vu que peu d'éditeurs de SGBD ont implémenté un provider pour Entity Framework...
    cf. cette discussion : http://www.developpez.net/forums/d63...cle-mysql-etc/

    Par contre tu peux toujours faire du Linq to DataSet, mais c'est moins pratique...

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

Discussions similaires

  1. [MySQL] [MySQL] Select avec WHERE sur un champs d'une autre table ?
    Par danydan01 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 06/05/2011, 16h05
  2. Requête MySQL SELECT WHERE
    Par kekegtr dans le forum Langage
    Réponses: 3
    Dernier message: 08/11/2008, 19h23
  3. SELECT ... WHERE != ???
    Par Terminator dans le forum Langage SQL
    Réponses: 5
    Dernier message: 11/05/2005, 21h22
  4. question sur SELECT ...WHERE...IN
    Par danseur dans le forum Requêtes
    Réponses: 3
    Dernier message: 23/01/2004, 15h23
  5. Select * Where {}
    Par Thomad dans le forum Langage SQL
    Réponses: 14
    Dernier message: 16/10/2003, 21h27

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