|
|
|
|
|
- Conditions d'utilisation de la fonction <Source>.LibèreRequête
<Source>.LibèreRequête (Fonction) En anglais : <Source>.FreeQuery Libère les ressources d'une requête (suite à l'utilisation des fonctions <Source>.ExécuteRequête ou <Source>.ExécuteRequêteSQL). 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.
// 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".
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|