DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Enregistrements lus
  • Parcours d'un fichier de données
  • Mémos
  • Blocages
  • Divers
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
Lit un enregistrement dans un fichier de données en fonction d'un numéro d'enregistrement donné. Ce mode de lecture est appelé "Accès direct". L'enregistrement lu est chargé en mémoire. La fonction HEtat permet de connaître l'état de l'enregistrement (actif, rayé ou supprimé).
En général, la fonction HLit permet de se positionner dans le fichier de données pour effectuer une boucle de lecture en précisant le numéro d'enregistrement.
Après l'exécution de la fonction HLit, plusieurs cas peuvent se présenter :
  • le numéro d'enregistrement spécifié n'existe pas (supérieur au nombre total d'enregistrements ou négatif) : aucune lecture n'est effectuée et la fonction HEnDehors renvoie Vrai.
  • le numéro d'enregistrement spécifié n'existe plus (enregistrement rayé, supprimé, ...) : aucune lecture n'est effectuée et la fonction HEnDehors renvoie Faux.
    Utilisez la fonction HEtat pour connaître l'état de l'enregistrement.
  • le fichier de données est vide : la fonction HEnDehors renvoie Vrai.
  • la fonction tente de bloquer un enregistrement déjà bloqué en lecture : la fonction HErreurBlocage renvoie Vrai et la fonction HEnDehors renvoie Vrai.
Cette fonction peut être utilisée indifféremment avec les fichiers de données (indexés ou non) ou les vues HFSQL.
Exemple
// Parcours séquentiel pour afficher le nom de tous les clients
i est un entier
POUR i = 1 _À_ HNbEnr(Client, hEtatTous)
HLit(Client, i)
SI HEtat() = hEtatActif ALORS 
Info("Nom du client : " + Client.Nom)
FIN
FIN
Syntaxe
<Résultat> = HLit([<Fichier de données> [, <Numéro d'enregistrement> [, <Options>]]])
<Résultat> : Booléen
  • Vrai si l'enregistrement a été lu,
  • Faux en cas d'erreur (blocage, fin du fichier de données, ...) : l'enregistrement n'est pas lu. La fonction HErreur permet d'identifier l'erreur.
<Fichier de données> : Chaîne de caractères optionnelle
Nom du fichier de données HFSQL, de la vue ou de la requête manipulé.
Si ce paramètre correspond à une chaîne vide (""), la fonction HLit manipule le dernier fichier de données utilisé par la dernière fonction de gestion HFSQL (fonction commençant par la lettre H).
<Numéro d'enregistrement> : Entier optionnel
Numéro de l'enregistrement à lire.
Si ce paramètre n'est pas spécifié (ou est égal à 0 ou à la constante hNumEnrEnCours), la fonction HLit va manipuler l'enregistrement en cours.
OLE DBConnecteurs Natifs (Accès Natifs) La fonction HLit lit uniquement l'enregistrement en cours. Il est impossible de spécifier un numéro d'enregistrement différent de celui en cours. Pour désigner l'enregistrement en cours, utilisez la constante hNumEnrEnCours.
<Options> : Constante optionnelle
Paramètre le blocage réalisé sur l'enregistrement lu par la fonction HLit :
hBlocageEcritureBlocage en écriture : l'enregistrement en cours de lecture pourra être lu par une autre application mais ne pourra pas être modifié par une autre application.
hBlocageLectureEcritureBlocage en lecture/écriture : l'enregistrement en cours de lecture ne pourra ni être lu ni être modifié par une autre application.
hBlocageNonAucun blocage : l'enregistrement pourra être lu ou modifié par une autre application pendant la lecture.
Hyper File 5.5 Les options de blocage ne sont pas prises en compte. Utilisez des fonctions de blocage (HBloqueNumEnr) conservées par compatibilité.
OLE DBConnecteurs Natifs (Accès Natifs) Si le provider OLE DB ou le Connecteur Natif utilisé ne gère pas les blocages, les options de blocage seront sans effet.
Remarques
WEBDEV - Code ServeurAjaxHFSQL ClassicHFSQL Client/ServeurProcédures stockéesHyper File 5.5

Enregistrements lus

La fonction HLit est la seule fonction permettant d'accéder à un enregistrement rayé ou supprimé. Si l'enregistrement est supprimé, le contenu de l'enregistrement n'est plus valide.

Parcours d'un fichier de données

La fonction HLit ne permet pas de poursuivre un parcours effectué avec les fonctions HLitPremier, HLitSuivant.

Mémos

Les mémos associés à l'enregistrement peuvent être automatiquement lus ou non lors de la lecture de l'enregistrement. La fonction HGèreMemo permet de personnaliser cette lecture automatique.
Si les mémos sont gérés, lorsque l'enregistrement est lu, les mémos texte associés sont également lus. Les mémos binaires ne sont lus que lorsqu'ils sont utilisés explicitement (fonction HExtraitMémo).
WEBDEV - Code ServeurAjaxHFSQL ClassicHFSQL Client/ServeurProcédures stockéesHyper File 5.5OLE DBConnecteurs Natifs (Accès Natifs)

Blocages

Par défaut (paramètre <Option> non spécifié), aucun blocage de l'enregistrement n'est réalisé.
Si un blocage est demandé (paramètres hBlocageEcriture ou hBlocageLectureEcriture), la lecture de l'enregistrement sera réalisée uniquement si cet enregistrement n'est pas déjà bloqué.
OLE DBConnecteurs Natifs (Accès Natifs) Si le provider OLE DB ou le Connecteur Natif utilisé ne gère pas les blocages, les options de blocage seront sans effet.

Divers

  • Le résultat de la fonction HTrouve doit être ignoré (la fonction HTrouve doit être utilisée pour les recherches réalisées avec les fonctions HLitRecherchePremier et HLitRechercheDernier).
  • Le numéro de l'enregistrement en cours est connu avec la fonction HNumEnr. Le numéro du premier enregistrement du fichier de données est 1.
  • Cette fonction remplace les fonctions HLitBloque et HLitSansBloquer, conservées par compatibilité avec WINDEV 5.5.
Composante : wd290hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 04/07/2023

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