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 :

Requete LinQ dynamic sur une DataTable


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Octobre 2015
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2015
    Messages : 98
    Par défaut Requete LinQ dynamic sur une DataTable
    Bonsoir.
    J'ai besoin de faire une requete sur une datatable. Alors c'est un peu particulier dans le sens ou la façon de faire cette requete n'a aucune importance , en revanche l'entré et la sortie de fonction sont imposés. Voici le code pour bien comprendre le soucis.

    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
     
     
    public DataTable Blooper(string m_ValEnvoi, DataTable m_Bonnetab)  
            {            
                string Reketor = m_ValEnvoi;  // => "Vivant = 1"  (1ere entré imposé sous la forme valeur dans la colonne Vivant = 1 
     
                // découpe la variable en 2 mots au cas ou c'est nécessaire pour la requête  
                string[] words = Reketor.Split('=');
                string NamColonne = words[0];  // = Vivant (nom d'une colonne)
                string ValColonne = words[1];    // =1 (valeur de champs dans cette colonne)
     
     
                // ------------------ creation d'une requete sur la DataTable "m_Bonnetab" qui est la seconde entré imposé
                DataTable convtab = m_Bonnetab;
                 var bloupbloup = convtab.AsEnumerable();
     
     
     
               var secki = from p in bloupbloup......    //=> requete que je n'arrive pas a formuler qui doit retourner toute les lignes quant dans la colonne "Vivant"
                                where ........                    //     la valeur est égale à 1 (dans cette colonne il n'y a que 1 ou 0 comme valeur)
                                select p;
     
     
     
     
               DataTable Tatoine = secki.AsQueryable().ToDataTable();           
               return Tatoine; (sorti sous la forme d'une Datatable
    Je précise que les entré et la sortie fonctionne et que j'ai tester beaucoup de chose déjà mais je n'arrive pas à le transcrire. J'avais sur une autre requete utiliser Dynamic LinQ qui fonctionner très bien:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    string testimo = "Tienmain = 1"; // créer une variable Nom colonne+ valeur bouton
     
                    using (var db = new DiagEntities()) // LinQ dynamic -> créer une table a afficher
                    {
                        var secki = db.DiagTabs.Where(testimo);
                        DataTable Tatoine = secki.ToDataTable();
    sauf que la j'avais une entité db mappé
    Voila si vous pouviez m'aidé, avec ou sans reflexion, même si il faut 50 ligne de code j'ai besoin de se point de jonction.
    Merci de votre aide

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Par défaut
    Salut,

    De ce que je comprends un peu de reflexion suffit a faire l'affaire:



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var secki = bloupbloup.Where(b=>b.getType().GetProperty(NamColonne).GetValue(null).ToString() == ValColonne);

  3. #3
    Membre confirmé
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Octobre 2015
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2015
    Messages : 98
    Par défaut
    Oui j'avais trouvé, mais comme une certaine personne que je ne nommerai pas m'a fait partir dans une autre direction je n'en n'avait plus l'utilité ....
    Pour ceux qui cherche je marque le sujet comme résolu car effectivement il suffit de partir sur de la reflexion

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

Discussions similaires

  1. [Débutant] requete linq affichage sur une ligne
    Par kinder540 dans le forum C#
    Réponses: 3
    Dernier message: 17/07/2013, 13h51
  2. [Débutant] Requete sur une datatable
    Par gilles_906 dans le forum VB.NET
    Réponses: 2
    Dernier message: 13/09/2011, 23h49
  3. (debutant) Deux requetes sur une datatable
    Par soiz775 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 01/04/2009, 09h36
  4. Requete sur une datatable
    Par thierry007 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 14/06/2008, 11h28
  5. requetes BUSINESS OBJECT sur une base ACCESS
    Par greatmaster1971 dans le forum Deski
    Réponses: 1
    Dernier message: 06/10/2004, 14h10

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