Problème pour rechercher une date entre 2

Résolu
fabian86 Messages postés 31 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 5 mai 2012 - 25 mai 2008 à 02:39
fabian86 Messages postés 31 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 5 mai 2012 - 25 mai 2008 à 18:16
bonjour,

J'ai 2 dateTimePicker et j'aimerai faire une requête pour vérifier si une date est entre ces 2 dates.
ça fonctionne si j'exclu les 2 dates c'est à dire comme ça:

com.CommandText = "select * from RDV where RDV_DTE > @RDV_DTE_DEB and RDV_DTE < @RDV_DTE_FIN order by RDV_DTE";
            SqlParameter paramDeb = new SqlParameter("@RDV_DTE_DEB", SqlDbType.DateTime);
            SqlParameter paramFin = new SqlParameter("@RDV_DTE_FIN", SqlDbType.DateTime);
            com.Parameters.Add(paramDeb);
            com.Parameters.Add(paramFin);
            com.Parameters["@RDV_DTE_DEB"].Value = dateDeb.ToShortDateString();
            com.Parameters["@RDV_DTE_FIN"].Value = dateFin.ToShortDateString();

J'aimerai inclure les 2 dates c'est dire :
select * from RDV where RDV_DTE >@RDV_DTE_DEB and RDV_DTE< @RDV_DTE_FIN

et ceci ne fonctionne pas.
si quelqu'un pouvait m'aider

merci

4 réponses

cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 100
25 mai 2008 à 13:20
Donc si RDV_DTE à sa composante heure à zéro, la requête devrait fonctionner.
Voir aussi l'opérateur BETWEEN.

/*
coq
MVP Visual C#
CoqBlog
*/
3
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 100
25 mai 2008 à 10:04
Salut,

            com.Parameters["@RDV_DTE_DEB"].Value = dateDeb.ToShortDateString();
            com.Parameters["@RDV_DTE_FIN"].Value = dateFin.ToShortDateString();
Non.... =>
            com.Parameters["@RDV_DTE_DEB"].Value = dateDeb.Date;
            com.Parameters["@RDV_DTE_FIN"].Value = dateFin.Date;
C'est quoi cette manie de vouloir systématiquement tout faire passer par des chaines de caractères, de ce que je sais le GC n'est pas susceptible, il ne nous en voudra pas si on ne lui pas trop de boulot.

Concernant la comparaison, elle ne renverra bien évidemment de résultat pour la date spécifiée par @RDV_DTE_FIN que si RDV_DTE est pile poil à <date> 00:00:00, vu que tu met la composante heure à zéro dans le passage de paramètre.
Je suppose que tu voulais plutôt mettre la dernière heure valide de la journée pour @RDV_DTE_FIN (23:59:59).

/*
coq
MVP Visual C#
CoqBlog
*/
0
fabian86 Messages postés 31 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 5 mai 2012
25 mai 2008 à 13:05
Je préfèrerai justement ne pas m'occuper des heures c'est pour celà que j'avais mis toShortDateString()
Les dates concernent des dates de naissance donc l'heure est pas vraiment utile.

Si tu avais une solution pour qu ema requête fonctionne ça serait sympa

merci
0
fabian86 Messages postés 31 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 5 mai 2012
25 mai 2008 à 18:16
Merci

Je me suis servi de BETWEEN et ça fonctionne très bien
0
Rejoignez-nous