IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Interruption de requête


Sujet :

WinDev

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 315
    Points : 202
    Points
    202
    Par défaut Interruption de requête
    Bonjour,

    via une classe je construis une requête, à l'aide d'une méthode de celle-ci je l'exécute (hExecuteRequêteSQL) avec le paramètre permettant l'interruption (hRequêteInterruptible).

    Lorsque je tente d'interrompre une requête un peu longue (touche ECHAP), il ne se passe rien, elle continue de tourner... est-ce que j'ai oublié quelque chose ?

    Merci

    PS : Hyperfile C/S et Windev 17

  2. #2
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Salut,

    Je pense qu'il faut exécuter ta requête via un thread!

    Bon DEV

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 315
    Points : 202
    Points
    202
    Par défaut
    Bonjour,

    du coup pour stopper la requête on tue le thread avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThreadArrête("MonThread",0)
    ?

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 315
    Points : 202
    Points
    202
    Par défaut
    Bon j'ai fait des essais, mais je n'ai que des problèmes nouveaux à contourner...

    Lorsque j'appelle ma méthode de classe dans un thread, j'ai systématiquement une erreur à l'exécution : le membre "Source de données" qui contient le résultat de la requête est "introuvable". Même en passant par des paramètres permettant de 'shunter' le membre par une variable globale externe (ou locale en paramètre), j'ai systématiquement le même problème, l'erreur se situe sur l'exécution de ConstruitTableFichier qui est une option de ma méthode d'exécution de la requête.
    En lui fournissant le membre source de données en paramètre de cette méthode de classe ça plante dans un thread (mais ça marche impeccable dans le thread principal avec le même code..). Même en externalisant l'exécution de ConstruitTableFichier (en lui passant le membre source de données de l'objet comme paramètre après exécution des méthodes successives de la classe (dont celle d'exécution de la requête qui remplit le membre source de données) : j'ai toujours le même message d'erreur...

    Bien évidemment lorsque l'exécution ne passe pas par un thread, tout fonctionne à merveille avec le membre source de données de mon objet...

    Tout ça est décourageant!
    Si quelqu'un a une solution ça m'intéresse beaucoup.

    PS : je rappelle que "tout ça" sert à contourner le fait que le paramètre d’interruption hRequêteInterruptible de HExécuteRequêteSQL qui chez moi (et chez vous ?) ne fonctionne pas.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Février 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2010
    Messages : 553
    Points : 1 075
    Points
    1 075
    Par défaut
    Citation Envoyé par cladoo Voir le message
    Bonjour,

    du coup pour stopper la requête on tue le thread avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThreadArrête("MonThread",0)
    ?
    Bonsoir, j'ai exactement le même problème .... je souhaite arrêter des requêtes répétitives qui s'empilent sur le serveur .... Elles ont été lancées par des procédures serveurs elle-même lancée à l'aide d'une action navigateur avec AjaxExecuteAsynchrone.

    Le souci, c'est que même lorsqu'on utilise l'annulation de l'execution ajax asynchrone, les procédures lancées sur le serveur continuent sur leur lancées ...

    Or comme elles comprennent des requêtes lourdes, le serveur ne réagit plus ...

    Est-ce que vous avez validé cette option de lancement des requêtes dans des threads que l'on kill ensuite ?

Discussions similaires

  1. Interruption de requête
    Par Cafeinoman dans le forum JSF
    Réponses: 5
    Dernier message: 24/12/2014, 10h00
  2. Interruption d'une requête
    Par le Daoud dans le forum Général Java
    Réponses: 5
    Dernier message: 20/04/2006, 13h45
  3. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38
  4. Requete requête sous sybase
    Par eddie dans le forum Sybase
    Réponses: 3
    Dernier message: 02/04/2003, 14h51
  5. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo