DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Lecture selon une rubrique clé ou non
  • Blocages
  • Mémos
  • Mot de passe
  • 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
Positionne sur le dernier enregistrement d'un fichier de données selon une rubrique de parcours. L'enregistrement est lu et les variables HFSQL sont mises à jour (par exemple Client.Nom, c'est-à-dire la rubrique Nom du fichier de données Client).
La lecture est réalisée pour la plus grande valeur de la rubrique de parcours (consultez les remarques pour plus de détails).
En général, la fonction <Source>.LitDernier permet de se positionner dans le fichier de données pour effectuer une boucle de lecture avec la fonction <Source>.LitPrécédent.
Après l'exécution de la fonction <Source>.LitDernier, plusieurs cas peuvent se présenter :
  • le fichier de données est vide ou il n'existe pas d'enregistrement correspondant au filtre (défini par la fonction <Source>.Filtre) : aucune lecture n'est effectuée et la fonction <Source>.EnDehors renvoie Vrai.
  • la fonction tente de bloquer un enregistrement déjà bloqué en lecture : aucune lecture n'est effectuée, la fonction HErreurBlocage renvoie Vrai et la fonction <Source>.EnDehors renvoie Vrai.
    PHP La gestion des blocages n'est pas disponible.
    Java 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, les vues HFSQL ou les requêtes.
Exemple
Client.LitDernier(Nom)
TANTQUE Client.EnDehors() = Faux
	// Traitement de l'enregistrement
	Client.LitPrécédent(Nom)
FIN
Syntaxe
<Résultat> = <Source>.LitDernier([<Rubrique de parcours> [, <Options>]])
<Résultat> : Booléen
Correspond à :
  • Faux en cas d'erreur. Dans ce cas, la fonction HErreur renvoie un entier différent de 0. La fonction HErreurInfo permet d'obtenir plus de détails sur l'erreur. L'enregistrement n'est pas lu.
  • la valeur de la fonction <Source>.Trouve dans les autres cas (l'enregistrement peut être lu, même si <Résultat> renvoie Faux).
<Source> : Type correspondant à la source spécifiée
Nom du fichier de données, de la vue HFSQL ou de la requête manipulé.
<Rubrique de parcours> : Chaîne de caractères optionnelle
Nom de la rubrique utilisée pour parcourir le fichier de données ou la vue. Si ce nom n'est pas spécifié, la fonction <Source>.LitDernier va utiliser :
  • Dans le cas d'un fichier de données : la dernière rubrique de parcours utilisée sur ce fichier par la dernière fonction de gestion HFSQL (fonction commençant par la lettre H). Si cette rubrique n'existe pas, la meilleure rubrique de parcours est automatiquement utilisée.
  • Dans le cas d'une requête : le ORDER BY de la requête s'il existe, sinon la dernière rubrique utilisée.
  • Dans le cas d'une vue : la rubrique de tri de la vue (si elle existe), sinon la dernière rubrique utilisée.
<Options> : Constante ou combinaison de constantes optionnelle
Paramètre :
  • le blocage réalisé sur l'enregistrement lu par la fonction <Source>.LitDernier.
  • la prise en compte ou non du filtre précédemment défini.
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.

PHP Cette constante n'est pas disponible.

Java Accès par JDBC : Cette constante n'est pas disponible.
hBlocageLectureEcritureBlocage en lecture/écriture : l'enregistrement en cours de lecture ne pourra ni être lu ni être modifié par une autre application.

OLE DB Blocage en écriture seulement. Fonctionnement équivalent à la constante hBlocageEcriture.

PHP Cette constante n'est pas disponible.

Java Accès par JDBC : Cette constante n'est pas disponible.
hBlocageNonAucun blocage : l'enregistrement pourra être lu ou modifié par une autre application pendant la lecture.

PHP Cette constante n'est pas disponible.

Java Accès par JDBC : Cette constante n'est pas disponible.
hForwardOnly
Connecteurs Natifs (Accès Natifs) Constante utilisable uniquement avec les Connecteurs Natifs (également appelés Accès Natifs).
Permet d'accélérer le parcours des données lors d'un parcours simple qui n'utilise pas les fonctionnalités suivantes :
  • Lecture de l'enregistrement précédent.
  • Modification d'un enregistrement.
  • Sauvegarde de position.
Si une de ces fonctionnalités est utilisée, le résultat peut être différent de celui attendu.
Cette constante peut par exemple être utilisée lors d'un parcours permettant de remplir un champ Table mémoire.
hRespecteFiltreLe parcours prendra en compte le filtre mis en place avec la fonction <Source>.Filtre, même si la clé de parcours utilisée n'est pas optimisée pour le filtre. Rappel : la fonction <Source>.Filtre renvoie la clé de parcours optimisée pour le filtre.
Attention : Dans ce cas, sur des fichiers de données de taille importante, des problèmes de performances peuvent survenir.
Hyper File 5.5 Cette variable ne peut pas être utilisée.
hSansRafraîchir
OLE DBConnecteurs Natifs (Accès Natifs) La fonction <Source>.LitDernier ne rafraîchit pas le contenu de la table ou de la requête. Dans la mesure du possible, la requête n'est pas ré-exécutée. Toutes les positions sauvegardées sont conservées.
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.
OLE DB Le mode de blocage spécifié avec la fonction <Source>.LitDernier restera effectif lors des appels aux fonctions <Source>.LitPrécédent et <Source>.LitSuivant.
Pour modifier le mode de blocage, il est nécessaire d'utiliser :
Connecteurs Natifs (Accès Natifs) Pour le Connecteur Natif Oracle, il est possible de spécifier un mode de blocage différent pour chaque enregistrement. Cependant, si une transaction a été démarrée à l'aide de la fonction SQLTransaction avant de procéder au blocage, le blocage ne sera relâché qu'à la fin de la transaction (fonction SQLTransaction avec la constante sqlFin ou sqlAnnule).
Hyper File 5.5 Les options de blocage ne sont pas prises en compte. Utilisez des fonctions de lecture bloquantes (fonction HLitDernierBloque) conservées par compatibilité.
PHP Les options de blocage ne sont pas disponibles.
Java Accès par JDBC : La gestion des blocages n'est pas disponible sur les bases de données accédées par JDBC.
Remarques

Lecture selon une rubrique clé ou non

Si la rubrique utilisée est une clé, la fonction <Source>.LitDernier lit l'enregistrement pour lequel la valeur de la clé est la plus grande. L'ordre de tri pris en compte est l'ordre de tri spécifié dans l'analyse pour cette clé. En cas de doublons, la fonction <Source>.LitDernier lit le dernier enregistrement "doublon" selon l'ordre des numéros d'enregistrement.

Si la rubrique n'est pas une clé, la fonction <Source>.LitDernier lit le dernier enregistrement actif. En cas de parcours du fichier de données, les enregistrements seront triés selon leur numéro d'enregistrement.
Dans ce cas, la rubrique de parcours sélectionnée apparaîtra en rouge sous l'éditeur de code et un warning sera affiché dans le volet "Code".
Remarque : La complétion automatique propose uniquement les rubriques clés.
WINDEVWEBDEV - Code ServeurEtats et RequêtesUniversal Windows 10 AppiPhone/iPadCode Utilisateur (MCU)AjaxHFSQL 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é (constantes 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.

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).
WINDEVWEBDEV - Code ServeurEtats et RequêtesUniversal Windows 10 AppiPhone/iPadJavaCode Utilisateur (MCU)Langage ExternePHPHFSQL ClassicHFSQL Client/ServeurProcédures stockéesHyper File 5.5OLE DBConnecteurs Natifs (Accès Natifs)

Mot de passe

Si la fonction <Source>.LitDernier est la première fonction manipulant le fichier de données spécifié, la vérification du mot de passe est effectuée lors de l'ouverture du fichier de données. Si le mot de passe est incorrect, la fonction HErreurMotDePasse renvoie Vrai et la fonction <Source>.EnDehors est à Vrai.

Divers

  • Le numéro de l'enregistrement en cours est connu avec la fonction <Source>.NumEnr.
  • La fonction <Source>.ChangeClé permet de modifier la clé de parcours, tout en restant positionné sur l'enregistrement en cours.
  • Pour optimiser le temps des premiers parcours d'un fichier de données, utilisez la fonction <Source>.Optimise sur ce fichier de données.
  • Cette fonction remplace les fonctions HLitDernierBloque et HLitDernierSansBloquer, conservées par compatibilité avec WINDEV 5.5.
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