Date date est oui problème [Résolu]

Messages postés
172
Date d'inscription
lundi 22 mai 2006
Dernière intervention
19 janvier 2011
- - Dernière réponse : gretata
Messages postés
172
Date d'inscription
lundi 22 mai 2006
Dernière intervention
19 janvier 2011
- 15 juin 2006 à 11:06
Re_bonjour !!


<hr>




j'ai un problème pour comparer des dates celle du jour et celle
qui est enregistré dans la bdd (acess)




String




jour =

DateTime


.Today.ToString();


if


( jour== base_données_gretaDataSet.BaseDonnée_Greta.Rows[i][6].ToString())
{

.....
....
....
....
}

mais ça ne marche pas

une âme charitable pour m'aider serait la bienvenue                   Merci
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
Messages postés
172
Date d'inscription
lundi 22 mai 2006
Dernière intervention
19 janvier 2011
3
Merci
VOILA j'ai trouver !!!!!!!!!!!!!!!!





String
jour;







//--------------verifie dates----------------------------








for
(

int
i = 0; i <= longueur; i++){

jour =


DateTime
.Now.ToString();jour = jour.Remove(10);//----pour enlever l'heure


MessageBox
.Show(

"date: "
+jour);


String
dattebase_données_gretaDataSet.BaseDonnée_Greta.Rows[i][6].ToString();datte datte.Remove(10);


MessageBox
.Show(

"date bdd :"
+datte);


if
(jour==datte){


baseDonnée_GretaDataGridView.Rows.RemoveAt(i);

//-------- suppression de la ligne









//------------------- mise à jour de la base-----------------------

baseDonnée_GretaTableAdapter.Update(base_données_gretaDataSet.BaseDonnée_Greta);


base_données_gretaDataSet.AcceptChanges();







MessageBox
.Show(

"ok"
); 

}

}

Merci bcp à tous
 

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de gretata
Messages postés
397
Date d'inscription
mercredi 8 mars 2006
Dernière intervention
23 mars 2007
0
Merci
Re-Salut gretata,
Tu peut essayer d'utiliser TimeSpan mais je ne sais pas si c'est ce qu'il y a de plus efficace.

_________________________________________________________________________
Woot
Alias Wouter Tjon.
Commenter la réponse de woot6768
Messages postés
172
Date d'inscription
lundi 22 mai 2006
Dernière intervention
19 janvier 2011
0
Merci
Merci,

j'ai essayé ça :

String jour = DateTime.Today.ToString();

TimeSpan.Parse(jour);

..........

mais "Le format de la chaîne d'entrée est incorrect.", il me dit le gas

donc voilou, il existe surement un type pour une date comme int pour les entiers 
Commenter la réponse de gretata
Messages postés
172
Date d'inscription
lundi 22 mai 2006
Dernière intervention
19 janvier 2011
0
Merci
public
[ms-help://MS.VSExpressCC.v80/MS.NETFramework.v20.fr/cpref2/html/T_System_DateTime.htm DateTime]

Date
{ get; } //----- j'aissé
Commenter la réponse de gretata
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Dernière intervention
20 juin 2013
0
Merci
Salut,
Pour comparer deux dates, tu peux utiliser DateTime.Compare

VC# forever
=13319
Commenter la réponse de cs_Bidou
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Dernière intervention
30 octobre 2008
0
Merci
Woot -> Va voir la doc de la classe TimeSpan...
Rien a voir avec la comparaison de 2 dates.

Gretata, si jamais la technique de bidou ne fonctionne pas, essai d'afficher les valeurs dans des MessageBox (ou dans un log, ou autre), histoire de les comparer.

Ou plus simple, fais du pas a pas lors de l'execution de ton projet.

Mx
MVP C# 
Commenter la réponse de MorpionMx
Messages postés
172
Date d'inscription
lundi 22 mai 2006
Dernière intervention
19 janvier 2011
0
Merci
bonjour a tous !! et merci d'avoir répondu




le truc c'est que il ne veut pas comparer les dates car "impossible de convertir de 'System.Type' en 'System.DateTime' " il me dit le debug.

avec le DateTime.Compare( la date d'aujourd'hui,la date qui et dans une colonne de la bdd);

je pensé que ça pourai fonctionner, mais non,
alors je les mis a plusieurs endroit puis dans un "si" et le mieux car si la date d'aujourd'hui
 et égale à la date de la bdd, la ligne est effacer ( voila se que je veut faire si sa peut aider).

for

(
int i = 0; i <= longueur; i++)
{
//base_données_gretaDataSet.BaseDonnée_Greta.Rows[i][6].GetType() je me suis dit que sa pouvez renvoyé le tpe pour qu'il comprenne que c'est un champ date qui a dans la bbd

if (
DateTime.Compare(
DateTime.Now, base_données_gretaDataSet.BaseDonnée_Greta.Rows[i][6].GetType()))
//mais ereur La méthode surchargée correspondant le mieux à 'System.DateTime.Compare(System.DateTime, System.DateTime)' possède des arguments non valides {

// suppression de la ligne
baseDonnée_GretaDataGridView.Rows.RemoveAt(i);

// mise à jour de la base
baseDonnée_GretaTableAdapter.Update(base_données_gretaDataSet.BaseDonnée_Greta);
base_données_gretaDataSet.AcceptChanges();

MessageBox.Show(
"ok");
}

j'en suis la, je commense a etre désespéré car c'est la fin de mon projet, juste le fait de pouvoir effacer la personnes si elle a dépassé sont quota de jours,
 
en vous remercient                    
Commenter la réponse de gretata
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Dernière intervention
20 juin 2013
0
Merci
Mais pourquoi tu appelles la méthode GetType() ??? c'est évident que Compare attends un object DateTime et pas un Type.
Si tu reçoit un string de la DB, tu peux faire un DateTime.Parse (ou TryParse, je ne sais pas si ça existe pour cet object) afin de transformer ton string en DateTime valide...

VC# forever
=13319
Commenter la réponse de cs_Bidou
Messages postés
172
Date d'inscription
lundi 22 mai 2006
Dernière intervention
19 janvier 2011
0
Merci
Merci,
comme ça par exemple :

if (
DateTime.Compare(
DateTime.Now,
DateTime.Parse(base_données_gretaDataSet.BaseDonnée_Greta.Rows[i][6].ToString()))){

mais Erreur 1 Impossible de convertir implicitement le type 'int' en 'bool'  ??

je bloque vraiment la dessus désolé
Commenter la réponse de gretata
Messages postés
397
Date d'inscription
mercredi 8 mars 2006
Dernière intervention
23 mars 2007
0
Merci
Salut,
Effectivement, j'ai (très) mal lu la doc sur TimeSpan, désolé...

_________________________________________________________________________
Woot
Alias Wouter Tjon.
Commenter la réponse de woot6768
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Dernière intervention
30 octobre 2008
0
Merci
Le probleme que tu rencontres certainement depuis le début, c'est que DateTime.Now va te ramener l'heure, minute, seconde ... de son appel, est c'est pour ca que ton if ne passe pas (je pense).
Donc appele plutot DateTime.Now.ToShortDateString()

Sinon, donc ton dernier bout de code, ca ne fonctionne pas parce que Compare retourne un int et pas un bool (je t'invite a aller lire la doc).
De plus, si la chaine qui se trouve dans le cell de ton Datagrid n'est pas une date valide, ton programme va planter méchament. Donc il faut plutot utiliser TryParse.

Mais essaie d'abord de comparer avec la valeur de ta cell avec ToShortDateString() comme dit plus haut, pour voir si ton probleme ne vient pas de la.

Mx
MVP C# 
Commenter la réponse de MorpionMx
Messages postés
172
Date d'inscription
lundi 22 mai 2006
Dernière intervention
19 janvier 2011
0
Merci
Merci, bcp je vais essayé
Commenter la réponse de gretata

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.