Relancer une requête après chaque x temps en boucle [Résolu]

Signaler
Messages postés
57
Date d'inscription
lundi 5 juin 2017
Statut
Membre
Dernière intervention
1 avril 2021
-
Messages postés
15781
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
9 avril 2021
-
Bonjour,

j'ai une requête que je dois la lancer de façon périodique(chaque 2 heurs) sans avoir besoin de fermer la forme.

6 réponses

Messages postés
15781
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
9 avril 2021
529
Si ton programme ne fait que cette requête, tu peux aussi le mettre dans les taches programmées de windows, il se lance, exécute sa requête et s'éteint.
Messages postés
15781
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
9 avril 2021
529
Bonsoir

Tu peux utiliser un timer.
Messages postés
57
Date d'inscription
lundi 5 juin 2017
Statut
Membre
Dernière intervention
1 avril 2021

j'ai utiliser un timer mais rien
Messages postés
15781
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
9 avril 2021
529
Poste le code
Messages postés
57
Date d'inscription
lundi 5 juin 2017
Statut
Membre
Dernière intervention
1 avril 2021

Dans la partie Load
timer3.Interval = 5000;
timer3.Tick += new EventHandler(timer3_Tick);
timer3.Enabled = true;

dans Timer:

timer3.stop();
exécute_requette();
Messages postés
15781
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
9 avril 2021
529
Ben si tu fait timer.Stop() il s'arrête et ne recommencera pas dans 5000 millisecondes.
Messages postés
15781
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
9 avril 2021
529
Au fait, deux questions au paravant, je t'ai demandé de clôturer tous tes sujets ouverts et qui seraient résolu.

Tant que tu ne l'auras pas fait, je ne répondrais plus à tes questions.
Et comme tu l'as sans doute remarqué, on est pas nombreux à répondre.
Messages postés
57
Date d'inscription
lundi 5 juin 2017
Statut
Membre
Dernière intervention
1 avril 2021

ok
Messages postés
15781
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
9 avril 2021
529
Bien, et sans
timer3.stop();
cela fonctionne t il comme tu veux?
Messages postés
57
Date d'inscription
lundi 5 juin 2017
Statut
Membre
Dernière intervention
1 avril 2021

donc j'ai trouvé une solution:
j'ai ajouté un timer :interval=500
et dans la partie code du timer:
private void timer4_Tick(object sender, EventArgs e)
{
//requètte
}

et c'est parfait
ma question comment je la configure de ce répéter cet événement chaque 2h du 7h du matin à 18h du matin.
Messages postés
2396
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
7 avril 2021
130
bonjour à vous deux !
Pour maintenance_info
Ton timer4 avec un intervalle de 500 va déclencher l'évènement toutes les 500 millisecondes et donc lancer ta requête toutes les 500 millisecondes .
Et ce n'est pas ceci que tu veux
Ta requête doit se lancer à 7 h, 9 h, 11 h, 13 H, 15 H, 17 h et 18 h comme tu le précises ( toutes les 2 heures entre 7 H et 18 H ) ce qui implique que le PC reste allumé de 7h à 18 h .
Ton timer avec un intervalle de 15 minutes par exemple doit détecter l'heure qu'il est . Si il est 7 h le timer lance la première requête
Pendant cette requête tu peux mettre le timer sur Stop si tu veux
Une fois la requête faite tu relances le timer si celui a été arrêté et le timer doit vérifier l'heure et attendre qu'il soit 9 h pour lancer la seconde requête et ainsi de suite