[c#] Convertir Date

Résolu
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011 - 12 juin 2005 à 18:51
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011 - 15 juin 2005 à 18:03
Bonjour, dans ma bdd j'ai un string dans le format : 2005-06-11 18:55


et je souhaite le convertir en 11-06-2005 18:55 !! Mais je n'ai pas trouvé la méthode ? Merci

26 réponses

cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
14 juin 2005 à 17:17
Voici le message d'erreur que j'obtiens :






Citation:, ----
************** Texte de l'exception **************

System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.

at Taches_planifiees.Principal.timer1_Tick(Object sender, EventArgs e) in c:\Taches planifiees\Principale.cs:line 252

at System.Windows.Forms.Timer.OnTick(EventArgs e)

at System.Windows.Forms.Timer.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr idEvent, IntPtr dwTime)







Merci
0
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
14 juin 2005 à 21:08
Bon je continue le post tout seul on dirait. J'ai de nouveau avancé, puisque je n'ai apparement plus d'erreur !!!


Voici donc le code :






Code:, ----
private void Principal_Load(object sender, System.EventArgs e)

{

Principal formtest = new Principal();

Rectangle rec = new Rectangle();

rec = Screen.GetWorkingArea(rec);

int x = rec.Width;

int largeur = formtest.Size.Width;

DateTime DateLancement = DateTime.Now.AddMinutes(1);

TimeSpan span = new TimeSpan(DateLancement.Subtract(DateTime.Now).Ticks);

this.timer1.Interval = (int) span.TotalMilliseconds;

this.timer1.Enabled = true;

this.timer2.Enabled = true;

}

private void timer1_Tick(object sender, System.EventArgs e)

{

MySqlConnection connect = new
ByteFX.Data.MySqlClient.MySqlConnection("Database=carrefour;Data
Source=localhost;User Id=root;Password=");

try

{

connect.Open();

string MySQLCmd = "select * from tache";

MyAdapter.SelectCommand = new MySqlCommand(MySQLCmd, connect);

MyAdapter.Fill(ds);

foreach ( DataRow dtRow in ds.Tables[0].Rows)

{

string dt1 = (string)dtRow["horaire"];

string dt2 = DateTime.Now.ToString("yyyy-MM-dd HH:mm");

timer1.Enabled = false;

if ( dt2 == dt1 )

{

vbMaf.Windows.Forms.DesktopAlert da = new
vbMaf.Windows.Forms.DesktopAlert();

da.ShowDialog();

}

else if ( dt2 != dt1)

{

}

}

connect.Close();

}

catch(MySqlException Ex)

{

MessageBox.Show("Erreur SQL:\n" + Ex.Message, "Erreur",
MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}







J'ai dans la bdd :



Citation:, ----
1 2005-06-14 20:56 texte1 1

2 2005-06-14 20:57 texte2 1






Donc deux dates a un laps de temps d'inteval. Le code lance bien la
première ligne de la bdd mais ne continue pas à la minute suivante sur
la seconde date de la bdd.





Est ce que la boucle foreach n'est pas adaptée. Que me conseillez vous plutot d'utiliser ou de quelle manière ?





Merci et bonne soirée !!!
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
14 juin 2005 à 23:07
Si la deuxieme heure n'est pas l'heure courante, c'est normal qu'elle ne provoque pas l'affichage du message non ?

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
15 juin 2005 à 15:56
Oui je suis tout a fait d'accord avec toi, mais lorsque l'horloge
système passe à 20:57, on retourne bien dans le timer1 et on a bien une
égalité des heures ???



Donc tous devrait ce lancer au fur et a fur que les dates sont égales !!!
0

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

Posez votre question
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
15 juin 2005 à 18:02
Oui si tu désactives le timer forcement tu n'as pas de 2eme passage.
Tu peux enlever ces lignes là je crois :

try
{
connect.Open();
string MySQLCmd = "select * from tache";
MyAdapter.SelectCommand = new MySqlCommand(MySQLCmd, connect);
MyAdapter.Fill(ds);


foreach ( DataRow dtRow in ds.Tables[0].Rows)
{
string dt1 = (string)dtRow["horaire"];
string dt2 = DateTime.Now.ToString("yyyy-MM-dd HH:mm");
timer1.Enabled = false;
if ( dt2 == dt1 )
{
vbMaf.Windows.Forms.DesktopAlert da = new vbMaf.Windows.Forms.DesktopAlert();
da.ShowDialog();
}


else if ( dt2 != dt1)
{


}
}
connect.Close();
timer1.Enabled = true;
}

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
15 juin 2005 à 18:03
Non j'ai fait le test et cela ne fonctionne pas sans. Car il actualise sans arret le lancement de la fenetre sinon
0
Rejoignez-nous