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
<Source>.Etat permet de connaître l'état de l'enregistrement (actif, rayé ou supprimé).
En général, la fonction <Source>.Lit 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 <Source>.Lit, 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 <Source>.EnDehors renvoie Vrai.
- le numéro d'enregistrement spécifié n'existe plus (enregistrement rayé, supprimé, ...) : aucune lecture n'est effectuée et la fonction <Source>.EnDehors renvoie Faux.
Utilisez la fonction <Source>.Etat pour connaître l'état de l'enregistrement. - le fichier de données est vide : la fonction <Source>.EnDehors renvoie Vrai.
- la fonction tente de bloquer un enregistrement déjà bloqué en lecture : la fonction HErreurBlocage renvoie Vrai et la fonction <Source>.EnDehors renvoie Vrai.
Accès par JDBC : La gestion des blocages n'est pas disponible sur les bases de données accédées par JDBC.
Cette fonction peut être utilisée indifféremment avec les fichiers de données (indexés ou non) ou les vues HFSQL.
// Parcours séquentiel pour afficher le nom de tous les clients
i est un entier
POUR i = 1 _À_ Client.NbEnr(hEtatTous)
Client.Lit(i)
SI Client.Etat() = hEtatActif ALORS
Info("Nom du client : " + Client.Nom)
FIN
FIN
Syntaxe
<Résultat> = <Source>.Lit([<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.
<Source> : Type correspondant à la source spécifiée
Nom du fichier de données HFSQL, de la vue ou de la requête manipulé.
<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
<Source>.Lit va manipuler l'enregistrement en cours.
<Options> : Constante optionnelle
Paramètre le blocage réalisé sur l'enregistrement lu par la fonction <Source>.Lit : | |
hBlocageEcriture | Blocage 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. |
hBlocageLectureEcriture | Blocage en lecture/écriture : l'enregistrement en cours de lecture ne pourra ni être lu ni être modifié par une autre application. |
hBlocageNon | Aucun blocage : l'enregistrement pourra être lu ou modifié par une autre application pendant la lecture. |
Remarques
Mémos
Les mémos associés à l'enregistrement peuvent être automatiquement lus ou non lors de la lecture de l'enregistrement. La fonction
<Source>.GèreMémo 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
<Source>.ExtraitMémo).