Manipulation de date, tri de résultats par rapport a la Date [Résolu]

cs_brute 135 Messages postés mercredi 8 novembre 2000Date d'inscription 11 mai 2007 Dernière intervention - 11 oct. 2006 à 14:38 - Dernière réponse : ricklekebekoi 305 Messages postés mardi 11 février 2003Date d'inscription 24 avril 2009 Dernière intervention
- 12 oct. 2006 à 19:14
Bonjour a tous,

J'ai un probleme avec Les dates :
J'aimerai trier les résultats affiché dans un datagrid par rapport a la date. Pour cela j'ai pensé a deux possibilités :

1°)  L'utilisateur doit pouvoir selectionner un intervalle de date et les résultats afficher doivent etre compris dans cet intervalle.

2°) L'utilisateur possede 4 boutons (suivant, précédent, 10 suivants et 10 précédent), Par exemple en cliquant sur suivant , les résultats affiché doivent correspondre a la date suivante.

Pour ces solutions, je récupere dabord la Valeur de la colonne Date de la premiere ligne comme suit :

this.textBox1.Text = this.dataGrid[NumeroLigne, 3].ToString();

Le résultat s'affiche comme suit : 09/09/2006 14:57:06
je dois alors utiliser un controle pour afficher cette date, j'ai logiquement pensé a un dateTimePicker.
Mais le probleme est que je n'arrive pas a formater celui-ci.
si je fais :

dateTimePicker1.CustomFormat = "dd/MM/yyyy hh:mm:ss";
dateTimePicker1.Format = DateTimePickerFormat.Custom;
this.dateTimePicker1.Text = this.textBox1.Text;

Le controle s'affiche comme suit : 09/09/2006 02:57:06 et non 09/09/2006 14:57:06 .
Y'a t-il une solution pour utiliser ces notations ?
Afficher la suite 

7 réponses

Répondre au sujet
cs_brute 135 Messages postés mercredi 8 novembre 2000Date d'inscription 11 mai 2007 Dernière intervention - 12 oct. 2006 à 11:38
+3
Utile
c'était bien un probleme de date et de requete.

La solution :

SELECT ID, DATE, COMMENTAIRE FROM MATABLE WHERE DATE = TO_DATE('" + this.textBox1.Text + "','dd/mm/yy hh24:mi:ss')" ;

et la ca fonctionne aucun probleme 

Merci a tous pour vos réponses
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_brute
SharpMao 1025 Messages postés mardi 4 février 2003Date d'inscription 7 juin 2010 Dernière intervention - 11 oct. 2006 à 14:57
0
Utile
Hello,


La solution est simple :



dateTimePicker1.CustomFormat = "dd/MM/yyyy HH:mm:ss";



Amicalement, SharpMao
Commenter la réponse de SharpMao
cs_brute 135 Messages postés mercredi 8 novembre 2000Date d'inscription 11 mai 2007 Dernière intervention - 11 oct. 2006 à 15:02
0
Utile
Merci SharpMao, tu as raison maintenant ma date est comme suis : 09/09/2006 14:57:06

Maintenant me reste plus qu'a utiliser les filtres pour rechercher dan sma base ...
Commenter la réponse de cs_brute
cs_brute 135 Messages postés mercredi 8 novembre 2000Date d'inscription 11 mai 2007 Dernière intervention - 11 oct. 2006 à 16:54
0
Utile
j'ai un probleme de requete Oracle je pense ...
quand je fais ca :
SELECT ID_table, DATE FROM MATABLE WHERE (DATE = 09/09/2006 14:56:51)

ceci ne marche pas , j'ai une erreur :

ORA-01830: Le modele du format de date se termine avant la conversion de la chaine d'entrée entiere !!

Je ne vois pas du tout d'ou cela peut venir , a part la clause WHERE ...

dans mon programme j'ai la meme requete sauf qu'a la fin :

WHERE DATE = '" + this.textBox1.Text + "'" ;

mais j'ai la meme erreur ......

j'ai aussi essayé : this.dateTimePiker.value mais meme probleme

Please help me
Commenter la réponse de cs_brute
ricklekebekoi 305 Messages postés mardi 11 février 2003Date d'inscription 24 avril 2009 Dernière intervention - 11 oct. 2006 à 19:06
0
Utile
SELECT ID_table, DATE FROM MATABLE WHERE (DATE = 09/09/2006 14:56:51)



Euh, la date ne devrait pas theoriquement etre entre " ou entre '  ??? J'asi jamais toucher a oracle, ce n'est qu'une supposition.

Soluce A:
SELECT ID_table, DATE FROM MATABLE WHERE (DATE = "09/09/2006 14:56:51")
Soluce B:
SELECT ID_table, DATE FROM MATABLE WHERE (DATE = '09/09/2006 14:56:51')

Normalement l'une des 2 devrait fonctionner .... non ?
Eric
Commenter la réponse de ricklekebekoi
cs_brute 135 Messages postés mercredi 8 novembre 2000Date d'inscription 11 mai 2007 Dernière intervention - 12 oct. 2006 à 09:30
0
Utile
Quand je fais :
SELECT ID_table, DATE FROM MATABLE WHERE (DATE = "09/09/2006 14:56:51")

Il me demande de saisir les variables bind :57 et :06

Quand je fais :
SELECT ID_table, DATE FROM MATABLE WHERE (DATE = '09/09/2006 14:56:51')

ORA-01830: Le modèle du format de date se termine avant la conversion de la chaîne d'entrée entière

quand je fais SELECT ID_table, DATE FROM MATABLE WHERE (DATE = :date)
il faut que je renseigne :date

MAis comment je peux faire dans mon code ???
pour l'instant je fais : WHERE DATE_CREATION = '" + this.textBox1.Text + "'" ;
this.textBox1.Text vaut : 09/09/2006 14:57:11 par exemple .
Mais j'ai une erreurORA-01830 ...
comment faire pour ne pas l'avoir
Commenter la réponse de cs_brute
ricklekebekoi 305 Messages postés mardi 11 février 2003Date d'inscription 24 avril 2009 Dernière intervention - 12 oct. 2006 à 19:14
0
Utile
Evidemment, j'aurais du y penser. Le format de date que tu avait (dd/mm/yy hh:mm:ss) est différent du format date de la bd (yyyy-mm-dd hh:mm:ss)

Eric
Commenter la réponse de ricklekebekoi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.