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

ASP.NET MVC Discussion :

Requ�te SQL sur un datetime


Sujet :

ASP.NET MVC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    D�veloppeur Informatique en Alternance
    Inscrit en
    Mai 2012
    Messages
    43
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur Informatique en Alternance
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 43
    Par d�faut Requ�te SQL sur un datetime
    Bonjour,

    Durant la r�alisation d'une application, je vais avoir besoin de comparer plusieurs dates entre elles.

    Dans ma base, j'ai deux champs de type datetime, DateDebut et DateFin que j'aimerai comparer de cette fa�on :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    var query = from t in db.TableDate
               where t.DateDebut <= "01/01/2000"
               where t.DateDebut >= "01/12/1999"
               select new Dates {Les champs que je veux récupérer}).ToList();
    Voil� en gros l'id�e, j'aimerais pouvoir s�lectionner les enregistrements que je souhaite entre les deux intervalles de dates que je d�finis dans ma requ�te, seulement, je ne vois pas vraiment comment faire, quelle syntaxe utiliser :/

    Avez-vous une id�e pour pouvoir r�aliser ce genre de requ�te ?

    Merci d'avance pour vos r�ponses

  2. #2
    Membre tr�s actif
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Juillet 2005
    Messages
    108
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur .NET
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Juillet 2005
    Messages : 108
    Par d�faut
    Je te conseille de mettre tes dates dans des variables Datetime avant.
    Comme ca tu peus les modifier par code.

    Cordialement Anthride

  3. #3
    Membre averti
    Homme Profil pro
    D�veloppeur Informatique en Alternance
    Inscrit en
    Mai 2012
    Messages
    43
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur Informatique en Alternance
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 43
    Par d�faut
    Bonjour,

    Tout d'abord merci de ta r�ponse, j'ai donc r�ussi � s�lectionner les enregistrements que je souhaitais r�cup�rer dont le champ "DateDebut" est inf�rieur ou sup�rieur � une certaine d�te.

    Voici le code de mon action r�alisant la r�cup' :
    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
     
    public ActionResult PageLog(string CR, string Domaine, string Appli)
    {
        string GetCR = CR;
        string GetDomaine = Domaine;
        string GetAppli = Appli;
     
        var db = new TestOutilEntities();
        var query = (from l in db.Log
                         where l.CR == GetCR
                         where l.NomDomaine == GetDomaine
                         where l.Appli == GetAppli
                         where l.DateDebut >= new DateTime(2012, 08, 20, 19, 52, 00, 00)
                         select new Logs { CR = l.CR, Appli = l.Appli, Job_MVS = l.Job_MVS, NomDomaine = l.NomDomaine, Type_Job = l.Type_Job, Description = l.Description, DateDebut = (DateTime)l.DateDebut, DateFin = (DateTime)l.DateFin }).ToList();
     
         return View(query);
    }
    Je r�cup�re bien ce que je veux sans probl�me mais maintenant j'ai une autre question.
    ------------------------

    Le truc c'est que je voudrais envoyer les variables suivantes : GetCR et GetAppli, en plus du r�sultat de ma requ�te, situ�es dans une autre action � ma vue et je ne vois pas vraiment comment faire.

    En gros, m�me si je sais que ce que je vais mettre est totalement faux mais c'est pour montrer grossi�rement ce que je veux, je voudrais faire un truc dans ce style :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
                return View(query, GetCR, GetAppli);
    Voici l'action qui m'int�resse :

    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
     
            public ActionResult PageDomaine(string CR, string Appli)
            {
                string GetCR = CR;
                string GetAppli = Appli;
     
                var db = new TestOutilEntities();
                var query = (from d in db.Domaine
                             where d.Appli == GetAppli
                             where d.CR == GetCR
                             select new Domaines { CR = d.CR, Appli = d.Appli, CreditMMCR = (int)d.CreditMMCR, FacturationMMFC = (int)d.FacturationMMFC, ServiceMMSE = (int)d.ServiceMMSE }).ToList();
     
                return View(query);
            }
            }
    J'esp�re que j'ai �t� assez clair

    Merci d'avance pour vos r�ponses

  4. #4
    Membre �m�rite Avatar de yonpo
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Par d�faut
    Salut,

    Pour passer plusieurs variables � une vue, tu dois passer par une classe qu'on appelle ViewModel.

    Voici un exemple :
    Code c# : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    public class DomaineViewModel
    {
    	public TypeDeQuery Requete;
    	public string Appli;
    	public string CR;
    }

    Et tu le passe � la vue :
    Code c# : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    var viewModel = new DomaineViewModel();
    viewModel.Requete = query;
    viewModel.Appli = GetAppli;
    viewModel.CR = GetCR;
     
    return View(viewModel);

  5. #5
    Membre averti
    Homme Profil pro
    D�veloppeur Informatique en Alternance
    Inscrit en
    Mai 2012
    Messages
    43
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur Informatique en Alternance
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 43
    Par d�faut
    Merci beaucoup pour ta r�ponse, �a fonctionne sans probl�me maintenant

    Edit : Ayant r�solu la plupart de mes soucis de DateTime dans ce sujet et un autre ( http://www.developpez.net/forums/d12...leme-datetime/ ), je poste ici ce qui me pose actuellement quelques soucis.

    Voil� le topo, je souhaiterais avoir une DropDownList qui serait aliment�e par ma base de donn�es et qui permettrait de s�lectionner les Mois et les Ann�es des enregistrements � afficher.
    En gros je souhaiterais avoir une DropDownList de ce type (je ne peux pas upload d'image au boulot donc �a va �tre � la main :/ ) :

    * Novembre 2012
    * Octobre 2012
    * Septembre 2012
    * Aout 2012
    * Juillet 2012
    * etc.


    Comment lui dire que lorsque je s�lectionnerais par exemple "Juillet 2012" d'aller r�cup�rer tous les enregistrements o� DateDebut contient 2012/07 ? Le probl�me n'est pas vraiment la requ�te mais plus la transition entre la valeur affich�e � l'�cran et la vraie valeur retourn�e � ma requ�te.

    De plus, il faudrait qu'elle soit aliment�e par rapport � mon champ DateDebut et ce que je voudrais, c'est que tous les nouveaux mois, le mois le plus ancien (ici Juillet 2012) disparaisse et que le nouveau apparaisse.

    Mais ce point-l� doit �tre regl� plus ou moins de la m�me fa�on que mon premier probl�me de soustraction des ann�es, enfin je suppose.

    L� aussi, avez-vous une id�e ?

    Je s�che compl�tement sur ce dernier point, je n'ai jamais aliment� de DropDownList avec une base de donn�es.

    J'esp�re que j'ai �t� assez clair, sinon je me ferais un plaisir de r�pondre � vos questions.

    Merci pour votre aide

Discussions similaires

  1. R�ponses: 3
    Dernier message: 11/01/2006, 18h35
  2. requ�tes sql sur plusieurs tables
    Par zahiton dans le forum Langage SQL
    R�ponses: 4
    Dernier message: 25/11/2005, 10h59
  3. [SQL] requ�tes SQL sur plusieurs tables
    Par zahiton dans le forum PHP & Base de donn�es
    R�ponses: 2
    Dernier message: 24/11/2005, 16h32
  4. A propos d'une requ�te SQL sur plusieurs tables...
    Par ylebihan dans le forum Langage SQL
    R�ponses: 2
    Dernier message: 14/09/2003, 16h26

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