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

Signaler
Messages postés
51
Date d'inscription
lundi 5 juin 2017
Statut
Membre
Dernière intervention
11 mai 2020
-
Messages postés
14385
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
5 juin 2020
-
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
14385
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
5 juin 2020
413
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
14385
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
5 juin 2020
413
Bonsoir

Tu peux utiliser un timer.
Messages postés
51
Date d'inscription
lundi 5 juin 2017
Statut
Membre
Dernière intervention
11 mai 2020

j'ai utiliser un timer mais rien
Messages postés
14385
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
5 juin 2020
413
Poste le code
Messages postés
51
Date d'inscription
lundi 5 juin 2017
Statut
Membre
Dernière intervention
11 mai 2020

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
14385
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
5 juin 2020
413
Ben si tu fait timer.Stop() il s'arrête et ne recommencera pas dans 5000 millisecondes.
Messages postés
14385
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
5 juin 2020
413
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
51
Date d'inscription
lundi 5 juin 2017
Statut
Membre
Dernière intervention
11 mai 2020

ok
Messages postés
14385
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
5 juin 2020
413
Bien, et sans
timer3.stop();
cela fonctionne t il comme tu veux?
Messages postés
51
Date d'inscription
lundi 5 juin 2017
Statut
Membre
Dernière intervention
11 mai 2020

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
2154
Date d'inscription
samedi 11 janvier 2014
Statut
Non membre
Dernière intervention
5 juin 2020
109
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