DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Conditions d'utilisation de la fonction <Source>.LibèreRequête
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Libère les ressources d'une requête (suite à l'utilisation des fonctions <Source>.ExécuteRequête ou <Source>.ExécuteRequêteSQL).
Remarque : Cette fonction est basée sur la fonction <Source>.AnnuleDéclaration.
Quand utiliser la fonction <Source>.LibèreRequête ?
Cette fonction peut être utilisée lorsqu'aucun traitement n'a plus à utiliser de résultat en provenance d'une requête. Il est conseillé d'utiliser cette fonction sur les requêtes qui renvoient un grand nombre de lignes (à partir de plusieurs dizaines de milliers) afin de libérer de l'espace mémoire.
Exemple
// Initialise la requête
SI MaRequête.ExécuteRequête() = Faux ALORS
Erreur("Erreur d'initialisation de la requête" + RC + HErreurInfo())
RETOUR
FIN
 
// Lecture du premier enregistrement de la requête
MaRequête.LitPremier()
TANTQUE PAS MaRequête.EnDehors()
// Traitement sur l'enregistrement de la requête
...
// Lecture de l'enregistrement suivant
MaRequête.LitSuivant()
FIN
MaRequête.LibèreRequête()
Syntaxe
<Résultat> = <Source>.LibèreRequête()
<Résultat> : Booléen
  • Vrai si l'opération a été réalisée,
  • Faux en cas de problème. La fonction HErreur permet d'identifier l'erreur.
<Source> : Type correspondant à la source spécifiée
Nom de la requête ou d'une source de données associée à une requête (cas d'une libération de ressources suite à l'utilisation des fonctions <Source>.ExécuteRequête ou <Source>.ExécuteRequêteSQL).
Remarques

Conditions d'utilisation de la fonction <Source>.LibèreRequête

Cette fonction ne doit être utilisée QUE lorsque vous n'avez plus besoin de la requête concernée !
Dans l'exemple suivant, la fonction <Source>.LibèreRequête est utilisée trop tôt : la table sera complètement faussée. En effet, le remplissage du champ Table par la fonction ConstruitTableFichier se produit dans un processus parallèle en arrière-plan. Donc, la fonction <Source>.LibèreRequête va intervenir bien avant la fin du remplissage du champ Table, ce qui rend ce champ inutilisable.
Test.ExécuteRequêteSQL("select * from client")
ConstruitTableFichier(TABLE_Table1, "test")
Test.LibèreRequête()

Remarque : Le problème peut aussi se produire avec une variable de type "source de données". Une variable "source de données" déclarée localement dans un traitement (clic de bouton, procédure, méthode ...) n'existe QUE durant l'exécution de ce code. Pour cette raison un "warning" est affiché si vous utilisez ce type de source de données : "la source de données sera détruite à la fin de ce code".
Composante : wd300hf.dll
Version minimum requise
  • Version 25
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 20/06/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale