DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Gestion des blocages
  • Fonctions HSécurité et HForceEcriture
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
HForceEcriture (Fonction)
En anglais : HFlush
HFSQL ClassicHFSQL Client/ServeurDisponible uniquement avec ces types de connexion
Force le système d'exploitation du poste sur lequel les fichiers de données sont présents à écrire les données directement sur le disque. Le contexte HFSQL du fichier de données manipulé est conservé (blocage, parcours en cours, ...).
Remarque : Utilisée régulièrement, cette fonction permet de minimiser les pertes de données occasionnées par les arrêts inattendus du poste sur lequel les fichiers de données sont présents (coupure de courant par exemple).
Java Cette fonction est disponible uniquement pour les fichiers de données HFSQL. Elle n'est pas disponible pour les fichiers de données accédés par JDBC.
Exemple
// Ajout d'un enregistrement dans un fichier de données
// (enregistrement décrit par programmation)
Client.Nom = "Moulin"
Client.Prenom = "François"
Client.Adresse = "Impasse de la belle"
Client.Ville = "Montpellier"
Client.CodeP = "34000"
Client.Pays = "France"
HAjoute(Client)
// Force l'écriture dans le fichier Client
HForceEcriture(Client)
Syntaxe
HForceEcriture(<Fichier de données>)
<Fichier de données> : Chaîne de caractères
Nom du fichier de données manipulé.
Si ce nom n'est pas spécifié, la fonction HForceEcriture va manipuler le dernier fichier de données utilisé par la dernière fonction de gestion HFSQL (fonction commençant par la lettre H).
Si ce paramètre correspond à "*", la fonction HForceEcriture sera appliquée sur l'ensemble des fichiers de données ouverts.
Attention : Dans ce cas, l'exécution de la fonction peut être longue.
Ce paramètre peut également correspondre au nom d'un groupe de fichiers (ou perso-dossier) défini dans l'analyse (non disponible en Android et Android Widget).
Remarques
WINDEVWEBDEV - Code ServeurEtats et RequêtesUniversal Windows 10 AppiPhone/iPadCode Utilisateur (MCU)AjaxHFSQL ClassicHFSQL Client/Serveur

Gestion des blocages

Lors de l'appel de la fonction HForceEcriture, le fichier de données manipulé est fermé puis réouvert. Si des blocages étaient mis en place sur ce fichier de données avant sa fermeture, ces blocages sont rétablis automatiquement à sa réouverture. En effet, lors de la fermeture d'un fichier de données, le système d'exploitation supprime les blocages mis en place sur ce fichier de données.
Remarque : Il est donc déconseillé d'appeler cette fonction trop souvent sur :
  • des fichiers de données sur lesquels un grand nombre de blocages est mis en place.
  • des fichiers de données sur lesquels un grand nombre d'écritures est réalisé.

Fonctions HSécurité et HForceEcriture

Les fonctions HSécurité et HForceEcriture permettent toutes les deux de forcer l'écriture physique sur le disque.
Cependant :
  • La fonction HSécurité permet de forcer l'écriture dans le ou les fichiers de données manipulés à chaque écriture. Cette écriture est automatiquement réalisée par le moteur HFSQL. Le ou les fichiers de données manipulés ne sont pas fermés lors de cette écriture. La vitesse d'écriture dans les fichiers de données est plus lente.
  • La fonction HForceEcriture permet de forcer l'écriture dans le ou les fichiers de données manipulés uniquement lors de l'appel de cette fonction. Le ou les fichiers de données manipulés sont fermés puis ré-ouverts lors de cette écriture. La vitesse d'écriture dans les fichiers de données n'est pas ralentie.
Composante : wd300hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 03/06/2024

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