Date date est oui problème

Résolu
gretata Messages postés 172 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 19 janvier 2011 - 14 juin 2006 à 16:20
gretata Messages postés 172 Date d'inscription lundi 22 mai 2006 Statut Membre 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

12 réponses

gretata Messages postés 172 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 19 janvier 2011
15 juin 2006 à 11:06
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
 
3
woot6768 Messages postés 393 Date d'inscription mercredi 8 mars 2006 Statut Membre Dernière intervention 23 mars 2007
14 juin 2006 à 16:32
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.
0
gretata Messages postés 172 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 19 janvier 2011
14 juin 2006 à 16:45
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 
0
gretata Messages postés 172 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 19 janvier 2011
14 juin 2006 à 16:49
public
[ms-help://MS.VSExpressCC.v80/MS.NETFramework.v20.fr/cpref2/html/T_System_DateTime.htm DateTime]

Date
{ get; } //----- j'aissé
0

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

Posez votre question
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
14 juin 2006 à 17:00
Salut,
Pour comparer deux dates, tu peux utiliser DateTime.Compare

VC# forever
=13319
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
14 juin 2006 à 18:31
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# 
0
gretata Messages postés 172 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 19 janvier 2011
15 juin 2006 à 08:25
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                    
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
15 juin 2006 à 08:57
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
0
gretata Messages postés 172 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 19 janvier 2011
15 juin 2006 à 09:42
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é
0
woot6768 Messages postés 393 Date d'inscription mercredi 8 mars 2006 Statut Membre Dernière intervention 23 mars 2007
15 juin 2006 à 09:55
Salut,
Effectivement, j'ai (très) mal lu la doc sur TimeSpan, désolé...

_________________________________________________________________________
Woot
Alias Wouter Tjon.
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
15 juin 2006 à 10:10
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# 
0
gretata Messages postés 172 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 19 janvier 2011
15 juin 2006 à 10:16
Merci, bcp je vais essayé
0
Rejoignez-nous