Requete between 2 dates....problèmes : manque des résultats !!!!

Résolu
cs_kme Messages postés 14 Date d'inscription jeudi 3 juillet 2003 Statut Membre Dernière intervention 14 juin 2007 - 13 juin 2007 à 15:10
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 24 juin 2007 à 16:36
bonjour à tous.

j'ai une base access et 2 datetimepicker(des combobox avec un ptit calendrier en fait). Je sélectionne deux dates et je veux retrouver dans ma base toutes les opérations ou qui ont été créees entre ces 2 dates.
Voici un extrait de ma requete :

string date1 =
'#' + combodate_1.Text +
'#';

string date2 =
'#' + combodate_2.Text +
'#';

"SELECT libelle_operation,libelle_modepaiement FROM operation WHERE datecreation_operation > " + date1 +
" and datecreation_operation <" + date2 +
" order by datecreation_operation");

donc, j'ai des résultats mais pas tous. Je ne comprends pas du tout. cela vient-il de ma requete???

merci d'avance pour toutes vos réponses
A voir également:

13 réponses

NeuroCypher Messages postés 29 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 24 octobre 2007 1
14 juin 2007 à 10:52
Pour etre sur que ton datetime est bon...



string dateFrom = "#" + Date



.Parse(combodate_1.Text).ToString(

"MM/dd/yyyy"
) + "#";
string dateTo = "#" + Date.Parse(combodate_1.Text).ToString(
"MM/dd/yyyy") + "#";

"SELECT libelle_operation,libelle_modepaiement FROM operation WHERE datecreation_operation > " + date1 +
" and datecreation_operation <" + date2 +
" order by datecreation_operation"


Apres si tout n'y est pas c'est peut etre que tu veux inclure les bornes...
Et donc utiliser des >= et <= au lieu des < et >...

---
NeuroCypher
3
nicolastar666 Messages postés 11 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 14 juin 2007
14 juin 2007 à 11:20
Sinon essaye avec un between dans ta requete... 
3
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
13 juin 2007 à 16:02
Salut,

Tu as testé la valeur que prend ta chaine dans ton SGBD ? (pour voir si elle te retourne des resultats)
Autrement, il faut absolument utiliser des requetes paramétrées et non pas construire ta requete ainsi

Mx
MVP C# 
0
BasicInstinct Messages postés 1470 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
13 juin 2007 à 16:31
'lut

as tu essayé en passant tes dates au format US  [mm/dd/yyyy] ?

++

BasicInstinct
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
13 juin 2007 à 16:37
Il n'aurait meme pas ce probleme avec des requetes paramétrées 

Mx
MVP C# 
0
cs_kme Messages postés 14 Date d'inscription jeudi 3 juillet 2003 Statut Membre Dernière intervention 14 juin 2007
13 juin 2007 à 20:18
mdr. c'est "elle".

mais tu parles de requete paramétré...je ne vois pas trop ce que c'est ...
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
13 juin 2007 à 20:22
Toutes mes excuses, on est tellement habitué a voir des "il" dans le coin... 

Je veux bien te donner un exemple, mais pour qu'il soit le plus adapté possible, il faut que je sache avec quels objets de connexion tu joues. OdbcConnection ? Autre ?

Mx
MVP C# 
0
cs_kme Messages postés 14 Date d'inscription jeudi 3 juillet 2003 Statut Membre Dernière intervention 14 juin 2007
13 juin 2007 à 22:10
oui, obdcconnection
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
13 juin 2007 à 22:20
Alors ca doit donner quelque chose comme ca, avec peut-etre quelques petites corrections a faire

<hr />
using (OdbcConnection connection = new OdbcConnection(connectionString))
{
   OdbcCommand cmd = new OdbcCommand("SELECT libelle_operation,libelle_modepaiement FROM operation WHERE datecreation_operation > @Date1 and datecreation_operation < @Date2 order by datecreation_operation ");
   OdbcParameter paramDate1 = new OdbcParameter("@Date1", OdbcType.DateTime);
   paramDate1.Value = combodate_1.Text;
   OdbcParameter paramDate2 = new OdbcParameter("@Date2", OdbcType.DateTime);
   paramDate2.Value = combodate_2.Text;
   cmd.Parameters.Add(paramDate1);
   cmd.Parameters.Add(paramDate2);
// Execution de ta requete, etc.
}
<hr />
OdbcParameter sur MSDN

Mx
MVP C# 
0
cs_kme Messages postés 14 Date d'inscription jeudi 3 juillet 2003 Statut Membre Dernière intervention 14 juin 2007
14 juin 2007 à 10:18
j'ai essayé mais c pareil

il manque toujours des opérations à la fin. Quand je fais la requete depuis ma base, c'est nikel et depuis mon prog il en manque....je suis paumée........

venez en secours à une belle demoiselle en detresse!!!!!
0
cs_kme Messages postés 14 Date d'inscription jeudi 3 juillet 2003 Statut Membre Dernière intervention 14 juin 2007
14 juin 2007 à 10:22
petite précision :

quand je recherche mois par mois par exemple du 01/01/2006 au 31/01/2006 , ça marche, par année aussi
par contre, quand je fais du 10/01/2006 au 31/01/2006 aucun résultat.pourtant il y en a plusieurs dans ma base
0
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
14 juin 2007 à 11:30
Hello,

Encore une chose pour les requêtes paramétrées, utilise directement un Datetime comme valeur du paramètre pour ne pas avoir de problème de format de date.

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
24 juin 2007 à 16:36
Salut,

Et ODBC ne supporte pas les paramètres nommés, il faut passer par le caractère '?' pour marquer la position et ensuite ajouter les instances d'OdbcParameter dans le bon ordre.

/*
coq
MVP Visual C#
CoqBlog
*/
0
Rejoignez-nous