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

Bases de données Delphi Discussion :

[TSQLQuery] Arrêt de l'ouverture bloque l'application


Sujet :

Bases de données Delphi

  1. #1
    Membre confirmé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Points : 512
    Points
    512
    Par défaut [TSQLQuery] Arrêt de l'ouverture bloque l'application
    Bonjour tout le monde,

    j'utilise un Thread pour ouvrir des requêtes afin de ne pas geler l'application et de pouvoir annuler l'ouverture de la requête si celle-ci est trop longue.

    Si on arrête le Thread avant l'ouverture de la requête, quand on veut ensuite retravailler avec le SQLQuery, par exemple en changeant sa propriété SQL.Text, il se bloque et bloque l'application.

    J'ai essayé en supprimant le TSQLQuery me disant que j'allais le recréer mais l'application se bloque sur le SQLQuery.Free.

    J'ai vérifié les valeurs de Active des différents composants reliés au SQLQuery et il n'y avait rien d'anormal.

    Je ne sais pas quoi faire, avez-vous déjà eu cette erreur ? Et si oui, comment l'avez vous réparée ?

    Merci.

  2. #2
    Membre confirmé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Points : 512
    Points
    512
    Par défaut
    Salut, j'ai avancé sur le problème.

    En fait, la requête s'ouvre dans un Thread, dans le Execute, il y a SQLQuery.Open.

    En fait, je ne sais pas trop comment arrêter l'ouverture de la requête quand celle-ci est trop longue et qu'on souhaite ne pas attendre la fin de l'ouverture.

    En dehors du Thread, si on fait un SQLQuery.close, c'est instantané, si on fait un SQLQuery.Free ou un SQLQuery.SQLConnection.Close, il va mettre 10 minutes à peu près, c'est le même temps que l'ouverture de la requête.

    Je suis en train de cibler le problème mais je ne vois pas encore de solutions.

    PS : j'ai aussi essayé de suspendre le Thread, cela génère une erreur, j'ai essayé de terminer le Thread, cela ne change rien.

Discussions similaires

  1. Réponses: 13
    Dernier message: 17/01/2024, 17h46
  2. Réponses: 3
    Dernier message: 07/12/2006, 09h51
  3. Peut-on accelerer l'ouverture de son application
    Par pierrot67 dans le forum Bases de données
    Réponses: 2
    Dernier message: 14/10/2006, 19h24
  4. Réponses: 3
    Dernier message: 07/07/2006, 17h47
  5. Regex bloque l'application
    Par osoumayaj dans le forum Langage
    Réponses: 11
    Dernier message: 20/03/2006, 18h44

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