PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE


  • Gestion des identifiants automatiques
  • Écriture d'enregistrements supprimés ou rayé
  • Version du fichier de données après une écriture
  • Gestion des mémos binaires
  • Si vous utilisez la fonction HEcrit avec une base de données au format Hyper File 5.5
  • Parcours et écriture d'un enregistrement
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget iOSApple WatchCatalystUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
HEcrit (Fonction)
En anglais : HWrite
ODBCNon disponible avec ce type de connexion
Écrit un enregistrement dans le fichier de données sans mettre à jour les index correspondants à toutes les clés utilisées dans le fichier de données. Les mémos sont ajoutés si nécessaire (si la gestion des mémos est active, fonction HGèreMémo).
Après l'exécution de la fonction HEcrit :
  • les erreurs d'intégrité et de doublons ne sont pas testés.
  • si un problème de blocage est rencontré (tentative de modification d'un enregistrement bloqué), la fonction HErreurBlocage renvoie Vrai et l'enregistrement n'est pas modifié.
    Windows Mobile La gestion des blocages est réalisée uniquement sur les fichiers de données HFSQL Client/Serveur ou manipulés par un accès natif. Il n'est pas possible de bloquer un enregistrement HFSQL Mobile. En effet, le système d'exploitation du Pocket PC ne permet pas de bloquer des enregistrements.
  • le numéro de l'enregistrement en cours est modifié : l'enregistrement en cours correspond à l'enregistrement écrit.
Remarques :
  • Pour mettre à jour les index pendant une écriture, utilisez les fonctions HAjoute ou HModifie.
    OLE DBConnecteurs Natifs (Accès Natifs) La fonction HEcrit est équivalente à la fonction HModifie. Les index sur la base de données sont mis à jour.
  • Si la valeur d'une clé est modifiée avec la fonction HEcrit, l'index sera déphasé. Il est nécessaire de ré-indexer (fonction HRéindexe).
  • Cette fonction peut être utilisée pour écrire un enregistrement dans une sélection réalisée par une requête (requête exécutée avec la constante hAvecFiltre uniquement).
Versions 17 et supérieures
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Nouveauté 18
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
Versions 19 et supérieures
Android Cette fonction est désormais disponible pour les applications Android.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
WINDEVJava Cette fonction est désormais disponible pour les applications Java.
Nouveauté 19
Android Cette fonction est désormais disponible pour les applications Android.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
WINDEVJava Cette fonction est désormais disponible pour les applications Java.
Android Cette fonction est désormais disponible pour les applications Android.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
WINDEVJava Cette fonction est désormais disponible pour les applications Java.
Versions 21 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Exemple
// Écriture d'un enregistrement à la fin d'un fichier de données
HEcrit(Client, HNbEnr() + 1)
Syntaxe
<Résultat> = HEcrit([<Fichier de données> [, <Numéro d'enregistrement> [, <Options>]]])
<Résultat> : Booléen
  • Vrai si l'écriture dans le fichier de données a été effectuée,
  • Faux en cas d'erreur (blocage, ...) : l'enregistrement n'est pas modifié. La fonction HErreur permet d'identifier l'erreur.
<Fichier de données> : Chaîne de caractères optionnelle (avec ou sans guillemets)
Nom du fichier de données manipulé. Si ce nom n'est pas spécifié, la fonction HEcrit va manipuler 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 à écrire. L'enregistrement chargé en mémoire est ré-écrit sur l'enregistrement spécifié.
Si ce numéro est supérieur au nombre d'enregistrements dans le fichier de données, des enregistrements supprimés intermédiaires seront créés pour que la lecture séquentielle du fichier de données (fonction HLit) soit cohérente.
Si ce paramètre n'est pas spécifié (égal à 0 ou à la constante hNumEnrEnCours), la fonction HEcrit va modifier l'enregistrement en cours dans le fichier de données.
OLE DBConnecteurs Natifs (Accès Natifs) La fonction HEcrit modifie 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> : Combinaison de constantes optionnelle
Paramètre :
  • le mode de calcul de l'identifiant automatique : Pour plus de détails sur la gestion de l'identifiant automatique lors de l'ajout d'un enregistrement, consultez Gestion de l'identifiant automatique lors d'un ajout.
    hEcritureDéfaut
    (Valeur par défaut)
    Si l'enregistrement écrit n'est pas un enregistrement supprimé, l'identifiant automatique (s'il existe) de l'enregistrement dans le fichier de données est ré-utilisé.
    Si l'enregistrement écrit est un enregistrement supprimé, un nouvel identifiant automatique est calculé pour l'enregistrement.
    Si la constante hEcritureDéfaut est précisée avec une des autres constantes, hEcritureDéfaut est ignorée.
    hFixeIdAutoL'identifiant automatique n'est pas calculé lors de l'écriture : la valeur de l'identifiant sera celle mémorisée au moment de l'écriture.
    La prochaine valeur de l'identifiant calculée par le moteur HFSQL correspondra à la plus grande valeur de l'identifiant dans le fichier +1.
    hForceIdAutoL'identifiant automatique n'est pas calculé lors de l'écriture : la valeur de l'identifiant sera celle mémorisée au moment de l'écriture.
    hRecalculeIdAutoL'identifiant automatique de l'enregistrement sera re-calculé lors de l'écriture. Cette constante est prioritaire sur les constantes hForceIdAuto et hFixeIdAuto.

    Si les trois constantes (hForceIdAuto, hFixeIdAuto et hRecalculeIdAuto) sont utilisées en même temps, une erreur WLangage est générée.
  • le mode de blocage de l'enregistrement.
    Si aucune constante de blocage n'est utilisée, l'enregistrement écrit n'est pas bloqué.
    hBlocageEcritureBlocage en écriture : l'enregistrement écrit sera bloqué en écriture. Cet enregistrement pourra être lu par une autre application mais ne pourra pas être modifié par une autre application. Seule l'application en cours pourra le modifier, ou le débloquer.
    hBlocageLectureEcritureBlocage en lecture/écriture : l'enregistrement écrit sera bloqué en lecture et en écriture. Cet enregistrement ne pourra ni être lu ni être modifié par une autre application. Seule l'application en cours pourra le modifier, le lire ou le débloquer.
    hBlocageNon
    (Valeur par défaut)
    Aucun blocage (même si la fonction HDébutVerrou a été utilisée) : l'enregistrement écrit ne sera pas bloqué.

Windows Mobile La gestion des blocages est réalisée uniquement sur les fichiers de données HFSQL Client/Serveur ou manipulés par un Connecteur Natif (également appelé Accès Natif). Il n'est pas possible de bloquer un enregistrement HFSQL Mobile. En effet, le système d'exploitation du Pocket PC ne permet pas de bloquer des enregistrements.

OLE DBConnecteurs Natifs (Accès Natifs) Si le provider OLE DB ou le Connecteur Natif (également appelé Accès Natif) utilisé ne gère pas les blocages, les options de blocage seront sans effet.

Hyper File 5.5 Le paramètre <Options> n'est pas pris en compte.
Remarques

Gestion des identifiants automatiques

Par défaut, lors de l'ajout d'un enregistrement dans un fichier de données, la rubrique de type "Identifiant automatique" est automatiquement mise à jour.
Les constantes hForceIdAuto et hFixeIdAuto permettent de modifier le comportement par défaut de l'identifiant automatique.
Pour plus de détails sur la gestion de l'identifiant automatique lors de l'ajout d'un enregistrement, consultez Gestion de l'identifiant automatique.
OLE DBConnecteurs Natifs (Accès Natifs)

Cas particuliers
  • Si la base de données génère un identifiant automatique, le moteur HFSQL conserve cette valeur. Si les constantes hForceIdAuto ou hFixeIdAuto sont précisées, le moteur HFSQL remplace la valeur générée par la valeur voulue.

    Remarque : la constante hForceIdAuto équivaut à hFixeIdAuto : l'identifiant automatique calculé par le moteur HFSQL lors du prochain ajout sera unique dans le fichier de données.
  • Si la base de données ne génère pas d'identifiant automatique, le moteur HFSQL génère la valeur et l'affecte à l'identifiant automatique.
WINDEVWEBDEV - Code ServeuriPhone/iPadUniversal Windows 10 AppWindows MobileAjaxLangage ExterneHFSQLHFSQL Client/ServeurHyper File 5.5

Écriture d'enregistrements supprimés ou rayé

Si le numéro d'enregistrement correspond à un enregistrement rayé ou supprimé, cet enregistrement est ré-activé.
WINDEVWEBDEV - Code ServeuriPhone/iPadUniversal Windows 10 AppWindows MobileAjaxLangage ExterneHFSQLHFSQL Client/ServeurHyper File 5.5

Version du fichier de données après une écriture

Si l'enregistrement a été écrit (pas de problème de blocage, etc.), le numéro de version du fichier de données est modifié. Pour connaître le numéro de version, utilisez la fonction HVersion.

Gestion des mémos binaires

Lors de la modification d'un enregistrement, les mémos sont modifiés si nécessaire (si la gestion des mémos est activée avec la fonction HGèreMémo).
Rappel : pour initialiser une rubrique de type mémo binaire, utilisez la fonction HAttacheMémo.
WINDEVWEBDEV - Code ServeurAjaxLangage ExterneHyper File 5.5

Si vous utilisez la fonction HEcrit avec une base de données au format Hyper File 5.5

Les rubriques de type TEXTE seront automatiquement complétées par des espaces.
WINDEVWEBDEV - Code ServeurWindows MobileConnecteurs Natifs (Accès Natifs)

Parcours et écriture d'un enregistrement

Si l'écriture est réalisée pendant un parcours, l'enregistrement écrit sera visible dans le parcours en cours uniquement. Si d'autres parcours ont été définis sur cette base de données, l'enregistrement écrit ne sera visible qu'après ré-initialisation de ces parcours.
Composante : wd250hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire