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 :

list<T> d'une jointure


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2009
    Messages : 67
    Par défaut list<T> d'une jointure
    Bonjour,

    Stocker les résultats d'une seule table dans une list du type qui lui correspond est assez simple

    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
     
    List <Parent> Parents= new List<Parent>();
     
        SqlConnection conn = new SqlConnection("...");
        conn.Open();
        SqlCommand cmdAllParents = new SqlCommand("SELECT * FROM PARENTS", conn);
        SqlDataReader reader = cmdAllFilms.ExecuteReader();
        while(reader.Read())
        {
            Parent par = new Parent();
            par.Id = reader["Par_Num"];
            // etc..
            Parents.Add(par);
        }
        conn.Close();


    Mais comment faire pour stocker dans une list les résultats ramenés par une jointure?

    Dans mon cas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "select * from PARENTS left outer join MEMBRE_UNI on PAR_MEM_NUM = MEM_NUM left join FONCTIONS on FON_NUM = MEM_FON_NUM where PAR_NOM like '" + recherche + "%'"
    Merci.

  2. #2
    Membre éclairé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Oise (Picardie)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 37
    Par défaut
    Bonjour,

    Etant donné que ta rêquete SQL ne va ramener que des éléments de ta table Parents, ceci fonctionne de la même façon que ton premier cas de figure.

  3. #3
    Membre expérimenté Avatar de AJemni
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2008
    Messages : 242
    Par défaut
    si tu veux les données de la table parent seulement, essay
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select PARENTS.* from Parent inner join ...
    ou selectionne seulement les champs que tu veut avoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select PARENTS.Id, PARENTS.Colonne1, ... FROM PARENTS INNER JOIN ...
    ici j'ai utilisé la syntaxe de T-SQL

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2009
    Messages : 67
    Par défaut
    merci de vos réponses.

    Je me suis peut être mal exprimé.

    Mon problème n'est pas dans la requete mais de quel type ma list doit etre étant donné que les données ramenées seront de plusieurs tables.

    dans le cas de base ma list est forcément de type parents étant donné que la requete ne renvoit que les données de cette table

    dois je avoir plusieures list tout simplement?

    merci d'avance

  5. #5
    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 : 43
    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
    Par défaut
    Crée une classe spécifique pour ta requête...

  6. #6
    Membre expérimenté Avatar de AJemni
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2008
    Messages : 242
    Par défaut
    +1

    choisie uniquement les champs dont tu a besion et créer une classe spécifique.

  7. #7
    Membre confirmé
    Homme Profil pro
    Developpeur .Net
    Inscrit en
    Mai 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations professionnelles :
    Activité : Developpeur .Net
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2011
    Messages : 32
    Par défaut
    Vous avez par example comme solution:
    Creez votre propre (Type) class avec les memes attributs que ceux retournes par votre JOIN.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/03/2010, 21h20
  2. [MySQL] Renseigner une liste déroulante dans un formulaire en faisant une jointure.
    Par bilou95 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 16/10/2006, 10h12
  3. [CR9] faire une Jointure externe
    Par coldec dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 28/06/2005, 12h10
  4. Lignes en double dans le résultat d'une jointure
    Par ledevelopeur dans le forum Bases de données
    Réponses: 4
    Dernier message: 02/06/2004, 18h10
  5. Comment récupérer la liste des logiciels installés sur une machine ?
    Par david_chardonnet dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 19/09/2003, 17h41

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