DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Types de variables HFSQL
  • Déclaration d'une variable de type Enregistrement
  • Accès aux rubriques
  • Lecture et affectation d'une variable de type Enregistrement
  • Cas particuliers
  • Propriétés spécifiques à la description des variables de type Enregistrement
  • Fonctions manipulant le type Enregistrement
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
Le type Enregistrement permet de manipuler (modifier, sauvegarder, ...) les valeurs d'un enregistrement. Cet enregistrement peut être un enregistrement d'un fichier de données, d'une requête ou d'une vue. La variable associée au type Enregistrement sera structurée comme un enregistrement de la base de données.
Exemples d'utilisation : Il est ainsi possible de mémoriser dans différentes variables le contenu de différents enregistrements pour les comparer ou comparer certaines rubriques.
Exemple
// CLIENT est un fichier de données décrit dans l'analyse
EnregClient est un Enregistrement de CLIENT

HLitPremier(CLIENT, NUMCLI)
SI PAS HEnDehors() ALORS
	EnregClient = CLIENT
	// Affichage du nom et prénom du client 
	Info(EnregClient.NOM, EnregClient.PRENOM)
FIN
// CLIENT est un fichier de données décrit dans l'analyse
EnregClient est un Enregistrement de CLIENT

EnregClient.Nom = "DUPONT"
EnregClient.Prénom = "Paul"
EnregClient.Ville = "MONTPELLIER"

// Affecte le contenu de la variable EnregClient dans le buffer du fichier de données Client
CLIENT = EnregClient  

HAjoute(CLIENT)

// Il est également possible de faire : HAjoute(CLIENT, EnregClient)
Remarques

Déclaration d'une variable de type Enregistrement

La syntaxe de déclaration d'une variable de type Enregistrement est la suivante :
<Nom de la variable> est un Enregistrement [de <Nom du fichier de données dans l'analyse>]
  • Si le paramètre <Nom du fichier de données dans l'analyse> est indiqué, l'enregistrement est associé à une description d'un des fichiers de données présents dans l'analyse. Dans ce cas, il est possible de manipuler les différentes rubriques de l'enregistrement.
  • Si le paramètre <Nom du fichier de données dans l'analyse> n'est pas indiqué, la structure de l'enregistrement sera construite dynamiquement en fonction du buffer du fichier qui lui sera alloué.

Accès aux rubriques

Pour accéder aux rubriques d'une variable de type Enregistrement, la syntaxe est la suivante :
  • Pour affecter une rubrique de la variable :
    <Nom Variable>.<Nom rubrique> = <Valeur à affecter>
  • Pour récupérer la valeur des rubriques :
    <Valeur> = <Nom Variable>.<Nom rubrique>
Remarque : Lors de l'utilisation d'une variable de type Enregistrement associée à un fichier de données de l'analyse, l'éditeur de code propose automatiquement les différentes rubriques de l'enregistrement :

Lecture et affectation d'une variable de type Enregistrement

Une variable de type Enregistrement peut être lue ou affectée. La syntaxe est la suivante :
  • Pour mémoriser le buffer d'un fichier de données dans une variable de type Enregistrement :
    <Nom de la variable Enregistrement> = <Nom du fichier de données>
  • Pour affecter le buffer d'un fichier de données depuis une variable de type Enregistrement :
    <Nom du fichier de données> = <Nom de la variable Enregistrement>
Remarque : L'affectation d'une variable de type Enregistrement à un fichier de données modifie la propriété NouvelEnregistrement.

Cas particuliers

  • La fonction HEnregistrementVersChaîne utilisée sur une variable de type Enregistrement retourne une chaîne de caractères contenant la valeur de chaque rubrique séparée par un caractère TAB.
  • Si une variable de type Enregistrement typée sur un fichier de données est affectée avec le buffer d'un autre fichier de données, il n'y a pas d'erreur de compilation. Une copie homonymique des buffers est effectuée : seules les rubriques de même nom de chaque buffer seront affectées. Les autres rubriques ne seront pas affectées.
  • Seule la sérialisation de type JSON est disponible pour ce type de variable (fonction Sérialise). Aucune désérialisation n'est disponible.

Propriétés spécifiques à la description des variables de type Enregistrement

Les propriétés suivantes peuvent être utilisées pour connaître les caractéristiques d'une variable de type Enregistrement :
Nom de la propriétéType manipuléEffet
ContenuChaîne de caractèresContenu de l'enregistrement en cours (identique au résultat renvoyé par la fonction HEnregistrementVersChaîne).
Cette propriété est disponible en lecture seulement.
FichierAssociéChaîne de caractèresNom du fichier de données HFSQL sur lequel la variable est basée.
Cette propriété est disponible en lecture seulement.

Fonctions manipulant le type Enregistrement

Les fonctions suivantes utilisent le type Enregistrement :
HAjouteAjoute :
  • l'enregistrement présent en mémoire dans le fichier de données (la requête ou la vue).
  • l'enregistrement présent dans une variable de type Enregistrement dans le fichier de données (la requête ou la vue).
HAttacheMémoPermet d'associer un fichier à une rubrique de type mémo binaire ou d'annuler l'attachement existant entre un fichier et une rubrique binaire.
HCopieEnregCopie :
  • le contenu de l'enregistrement en cours (chargé en mémoire) dans l'enregistrement en cours d'un fichier de données.
  • le contenu d'une variable de type Enregistrement dans l'enregistrement en cours d'un fichier de données.
HEnregistrementVersChaîneConvertit sous forme de chaîne le contenu de l'enregistrement en cours (dans un fichier de données, une vue HFSQL, une requête, ...).
HExtraitMémoExtrait le contenu d'une rubrique de type mémo binaire d'un fichier HFSQL, d'une requête ou d'une vue HFSQL dans un fichier physique (sur le disque).
HInfoMémoRenvoie les caractéristiques des mémo binaire et texte.
HListeRubriqueRenvoie la liste des rubriques :
  • présentes dans un fichier de données (d'une requête ou d'une vue) reconnu par le moteur HFSQL. Les fichiers de données définis par les fonctions HDéclare, HDéclareExterne et HDécritFichier sont pris en compte.
  • présentes dans une variable de type Enregistrement.
HRAZInitialise :
  • une ou toutes les variables des rubriques d'un fichier de données avec leurs valeurs par défaut.
  • une ou toutes les rubriques d'une variable de type Enregistrement avec leurs valeurs par défaut.
Remarque : Pour réinitialiser le contenu d'une variable de type Enregistrement, il est également possible d'utiliser la fonction VariableRAZ.
Version minimum requise
  • Version 19
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 18/09/2024

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