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

Messages postés
46
Date d'inscription
lundi 5 juin 2017
Statut
Membre
Dernière intervention
23 octobre 2019
- - Dernière réponse : Whismeril
Messages postés
14030
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 décembre 2019
- 13 juin 2019 à 18:40
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.
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
14030
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 décembre 2019
322
1
Merci
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.

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CodeS-SourceS

Codes Sources 200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Whismeril
Messages postés
14030
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 décembre 2019
322
0
Merci
Bonsoir

Tu peux utiliser un timer.
maintenance_info
Messages postés
46
Date d'inscription
lundi 5 juin 2017
Statut
Membre
Dernière intervention
23 octobre 2019
-
j'ai utiliser un timer mais rien
Commenter la réponse de Whismeril
Messages postés
14030
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 décembre 2019
322
0
Merci
Poste le code
maintenance_info
Messages postés
46
Date d'inscription
lundi 5 juin 2017
Statut
Membre
Dernière intervention
23 octobre 2019
-
Dans la partie Load
timer3.Interval = 5000;
timer3.Tick += new EventHandler(timer3_Tick);
timer3.Enabled = true;

dans Timer:

timer3.stop();
exécute_requette();
Whismeril
Messages postés
14030
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 décembre 2019
322 -
Ben si tu fait timer.Stop() il s'arrête et ne recommencera pas dans 5000 millisecondes.
Commenter la réponse de Whismeril
Messages postés
14030
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 décembre 2019
322
0
Merci
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.
maintenance_info
Messages postés
46
Date d'inscription
lundi 5 juin 2017
Statut
Membre
Dernière intervention
23 octobre 2019
-
ok
Commenter la réponse de Whismeril
Messages postés
14030
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 décembre 2019
322
0
Merci
Bien, et sans
timer3.stop();
cela fonctionne t il comme tu veux?
maintenance_info
Messages postés
46
Date d'inscription
lundi 5 juin 2017
Statut
Membre
Dernière intervention
23 octobre 2019
-
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.
Commenter la réponse de Whismeril
Messages postés
1980
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
8 décembre 2019
77
0
Merci
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
Commenter la réponse de vb95