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

Linq Discussion :

Problème Requête Datetime


Sujet :

Linq

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Décembre 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Problème Requête Datetime
    Bonjour à tous ,

    je viens vers vous car ça fait deux jours que j'essaye de faire une requête en linq to sql mais voyez vous : je n'ai jamais le résultat voulu

    Voila la problématique :
    j'ai deux tables : l'une avec du matériels qui à un champ qui dit s'il est soumis à une visite préventive et une autre table qui stocke toute les visites préventives effectués pour toutes les machines avec un champ datetime qui stocke la date à laquelle elles ont été effectuées .
    Je souhaite récupérer toutes les machines soumises à visites préventives pour un client donné qui sont encore à effectuer .

    Pour cela j'ai conçu cette requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     var q = from p in DbContext.Materiels
     
                        where p.ClientId == id && p.VP == 1 &&
                         !(from z in DbContext.VisitesPreventives
                           where z.Date.Year==DateTime.Now.Year
                           select z.materielId).Contains(p.MaterielId)
     
                        select p;
    Mais si une machine a été visitée en 2012 alors il me la compte pas en 2013 à visiter .c'est comme si il me prenait pas en compte le test sur l'année Je ne comprend pas pourquoi
    une idée ?
    Merci pour votre aide

  2. #2
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    La requête me semble correcte pourtant.

    Petite question au passage : MaterielId identifie un matériel unique pour un client unique ou le même MaterielId peut-il être utilisé pour plusieurs clients ?
    Si ton problème a une solution, rien ne sert de t'inquiéter..
    Si il n'en a pas, t'inquiéter ne sert à rien


  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par jojar Voir le message
    Mais si une machine a été visitée en 2012 alors il me la compte pas en 2013 à visiter .c'est comme si il me prenait pas en compte le test sur l'année Je ne comprend pas pourquoi
    une idée ?
    Parce que dans ta requête tu fais un test sur l'égalité de l'année de la visite préventive à celle d'aujourd'hui.

    Ta requête devrait plutôt ressembler à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    var q = from p in DbContext.Materiels
     
                        where p.ClientId == id && p.VP == 1 &&
                         !(from z in DbContext.VisitesPreventives
                           where z.Date.Year<=DateTime.Now.Year
                           select z.materielId).Contains(p.MaterielId)
     
                        select p;

Discussions similaires

  1. Problème: Requête utilisant NOT IN
    Par fages dans le forum Langage SQL
    Réponses: 4
    Dernier message: 04/05/2004, 10h18
  2. erreur3073 Problème requête
    Par amel123456789 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 01/04/2004, 10h15
  3. Problème requête qui renvoie plusieurs
    Par dai.kaioh dans le forum Langage SQL
    Réponses: 6
    Dernier message: 01/04/2004, 10h07
  4. Problème requête avec UNION et ORDER BY
    Par Yann21 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 12/12/2003, 11h02
  5. Réponses: 8
    Dernier message: 23/10/2003, 16h22

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