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 :

[LinqTosql] "Diviser" la requete


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2009
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 98
    Par défaut [LinqTosql] "Diviser" la requete
    Salut tout le monde,
    J'ai une petite question à propos du Classe Linq to sql.
    Quand on crée la variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var query = from P in db.profile where p.nom == "xxx"
    , est ce qu'on peut diviser la requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var query = from P in db.profile  where p.nom == "xxx" +   t
    tel que t est la suite de la variable par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    t = && p.prenom ==prnbox.txt
    Merci de m'aider.

  2. #2
    Expert confirmé

    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 : 47
    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
    Par défaut
    Salut,

    est-ce que tu as essayé, avant de poser la question ?

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  3. #3
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var query = from p in db.profile
                where p.nom = "xxx"
                select p;
     
    query = from p in query
            where p.prenom ==prnbox.txt
            select p;

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2009
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 98
    Par défaut
    ouiii je l'ai essayé , mais je ne sais pas est ce que j'ai bien posé ma question , je voudrais savoir est ce que je peux diviser ma requete en deux parties ,

    var query = partie 1 + partie 2 ;


    voici mon code :
    je veux selectionner à partir de ma BD les nom des villes qui sont des CheckBoxs

    et dans ma BD j'ai plusieurs villes ce qui fait que j'ai plusieur CheckBoxs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     if (CheckBox2.Checked) {
    var query = from p in db.local
                           where p.ville  == CheckBox2.text
                            select p;}
    et encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (CheckBox3.Checked) {
    var query = from p in db.local
                           where p.ville  == CheckBox3.text
                            select p;}
    jusqu'au 10 c'est enorme !!
    c'est pour cela je demande est ce que je peux diviser la requete afin de tester que sur les CheckBox3 pour avoir un code coherent pas des redondances.

    plzzzzz help !!

  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
    ben dans ce cas je ne vois pas en quoi "diviser" la requête va t'aider...

    il vaudrait mieux boucler sur les CheckBox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    foreach(CheckBox chk in this.Controls.OfType<CheckBox>())
    {
        if (chk.Checked)
        {
            var query = from p in db.local
                            where p.ville  == chk.Text
                            select p;
     
            // Faire quelque chose avec le résultat de la requête
            ...
     
            break;
        }
    }

  6. #6
    Membre confirmé
    Inscrit en
    Octobre 2009
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 98
    Par défaut
    Premierment merci pour ta reponse , j'ai essayé ton code mais ça n'a pas marché , et j'ai voulu juste savoir est ce qu'il va parcourir les CheckBox et il n'a rien affiché
    ce que j'ai fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    foreach(CheckBox chk in this.Controls.OfType<CheckBox>())
    {
        if (chk.Checked)
        {
            TextBox2.Text = "ok";
     
            break;
        }
    }

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