|
|
|
|
|
- Gestion des Identifiants automatiques
- Réutilisation des enregistrements supprimés ou libérés
- Version du fichier de données après un ajout
- Ajout d'un enregistrement dans une requête
- Ajout d'enregistrements dans une vue
- Parcours et ajout d'enregistrements
- Problème de lenteur lors du premier ajout ou de la première suppression dans un fichier de données HFSQL
- Ajout dans une base de données au format Hyper File 5.5
HAjoute (Fonction) En anglais : HAdd
Non disponible avec ce type de connexion
Ajoute : - 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).
Les index correspondant à toutes les clés utilisées dans le fichier de données sont mis à jour automatiquement. Les mémos éventuels sont ajoutés si la gestion des mémos est active (fonction HGèreMémo). Après l'exécution de la fonction HAjoute : - Une gestion automatique des erreurs est proposée pour plusieurs types d'erreurs : Erreur de doublons, Erreur d'intégrité, Erreur de mot de passe, Erreur de conflit de modification et d'état lors du conflit de modification, Erreur de blocage, ... Pour plus de détails, consultez Gestion assistée des erreurs HFSQL.
- Si la gestion des doublons est activée et si le fichier de données contient une clé unique, la fonction HErreurDoublon renvoie Vrai si la valeur de la clé ajoutée n'est pas unique. L'enregistrement n'est pas ajouté.
- L'enregistrement ajouté devient l'enregistrement en cours. L'identifiant automatique est automatiquement renseigné. Par défaut, le parcours en cours n'est pas affecté.
Note : La totalité de l'enregistrement en mémoire est écrite dans le fichier de données avec les valeurs qui lui ont été affectées (et à défaut, le contenu de l'enregistrement précédemment lu). Pour vider les valeurs de l'enregistrement en mémoire, il suffit d'utiliser la fonction HRAZ.
Client.Nom = "Moulin"
Client.Prenom = "François"
Client.Adresse = "Impasse des palmiers"
Client.Ville = "Perpignan"
Client.CodeP = "66000"
Client.Pays = "France"
HAjoute(Client)
Syntaxe
Ajouter l'enregistrement en mémoire dans un fichier de données, une vue ou une requête Masquer les détails
<Résultat> = HAjoute([<Fichier de données> [, <Options>]])
<Résultat> : Booléen - Vrai si l'enregistrement a été ajouté,
- Faux en cas de problème (erreur d'intégrité, de doublons, ...). La fonction HErreur permet d'identifier l'erreur.
<Fichier de données> : Chaîne de caractères optionnelle Nom du fichier de données, de la vue ou de la requête manipulé. Si ce nom n'est pas spécifié, la fonction HAjoute va manipuler le dernier fichier de données utilisé par la dernière fonction de gestion HFSQL (fonction commençant par la lettre H). <Options> : Constante optionnelle Permet de paramétrer :- l'influence de l'ajout sur le parcours en cours.
- le mode de calcul de l'identifiant automatique. Pour plus de détails, consultez Gestion de l'identifiant automatique lors d'un ajout.
- le mode de blocage de l'enregistrement ajouté.
- La gestion des blocages n'est pas disponible en PHP.
- La gestion des blocages n'est pas disponible sur les bases de données SQLite.
- Accès par JDBC : La gestion des blocages n'est pas disponible sur les bases de données accédées par JDBC.
- la gestion des doublons.
- la gestion de l'intégrité.
| | hAffecteParcours | Influence de l'ajout sur le parcours : L'ajout affecte le parcours. Par exemple, la fonction HLitSuivant utilisée après la fonction HAjoute positionne sur l'enregistrement suivant l'enregistrement ajouté. La constante hAffecteParcours est prioritaire sur la constante hEcritureDéfaut. | hBlocageEcriture | Mode de blocage de l'enregistrement ajouté : Blocage en écriture : l'enregistrement ajouté 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.
Cette constante est disponible uniquement pour HFSQL Client/Serveur et les Connecteurs Natifs. | hBlocageLectureEcriture | Mode de blocage de l'enregistrement ajouté : Blocage en lecture/écriture : l'enregistrement ajouté 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.
Cette constante est disponible uniquement pour HFSQL Client/Serveur et les Connecteurs Natifs. | hBlocageNon (valeur par défaut) | Mode de blocage de l'enregistrement ajouté : Aucun blocage : l'enregistrement ajouté ne sera pas bloqué.
| hEcritureDéfaut (valeur par défaut) | Influence de l'ajout sur le parcours : L'ajout n'affecte pas le parcours en cours. Par exemple, la fonction HLitSuivant utilisée après la fonction HAjoute positionne sur l'enregistrement suivant l'enregistrement en cours avant l'ajout. La constante hAffecteParcours est prioritaire sur la constante hEcritureDéfaut. | hFixeIdAuto | Mode de calcul de l'identifiant automatique : L'identifiant automatique n'est pas calculé lors de l'ajout : la valeur de l'identifiant sera celle mémorisée au moment de l'ajout. La prochaine valeur de l'identifiant calculée par le moteur HFSQL correspondra à la plus grande valeur de l'identifiant dans le fichier +1. Si les constantes hFixeIdAuto et hForceIdAuto sont utilisées en même temps, une erreur WLangage est générée. | hForceIdAuto | Mode de calcul de l'identifiant automatique : L'identifiant automatique n'est pas calculé lors de l'ajout. L'identifiant correspond :- soit à la valeur affectée à la rubrique par programmation (par exemple CLCLEUNIK = 7)
- soit à la valeur par défaut de l'identifiant spécifiée dans l'éditeur d'analyses (si le fichier de données vient d'être ouvert, sans lecture d'enregistrement)
- soit à la valeur de l'identifiant présent en mémoire (valeur de l'identifiant pour le dernier enregistrement lu dans le fichier de données).
Après l'ajout de l'enregistrement, le prochain identifiant automatique calculé par défaut par le moteur HFSQL sera calculé sans tenir compte de la valeur ajoutée par hForceIdAuto. Si les constantes hFixeIdAuto et hForceIdAuto sont utilisées en même temps, une erreur WLangage est générée. | hIgnoreDoublon | Mode de gestion des doublons : Ignore le contrôle des doublons pour cette opération, même si le contrôle automatique des doublons est branché (fonction HGèreDoublon). Si les constantes hIgnoreDoublon et hVérifieDoublon sont utilisées en même temps, une erreur WLangage est générée.
| hIgnoreIntégrité | Mode de gestion de l'intégrité : Ignore le contrôle d'intégrité sur cette opération d'ajout, même si le contrôle de l'intégrité automatique est branché (fonction HGèreIntégrité). Si les constantes hIgnoreIntégrité et hVérifieIntégrité sont utilisées en même temps, une erreur WLangage est générée.
| hVérifieDoublon | Mode de gestion des doublons : Contrôle les doublons pour cette opération, même si le contrôle des doublons est débranché (fonction HGèreDoublon). Si les constantes hIgnoreDoublon et hVérifieDoublon sont utilisées en même temps, une erreur WLangage est générée.
| hVérifieIntégrité | Mode de gestion de l'intégrité : Contrôle l'intégrité de l'opération même si le contrôle de l'intégrité automatique est débranché (fonction HGèreIntégrité). Si les constantes hIgnoreIntégrité et hVérifieIntégrité sont utilisées en même temps, une erreur WLangage est générée.
|
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. Il n'est pas nécessaire de relire l'enregistrement pour connaître la valeur de l'identifiant automatique. Il suffit d'utiliser la syntaxe <Nom Fichier>.<Nom rubrique Identifiant automatique>. Les constantes hForceIdAuto et hFixeIdAuto permettent de modifier le comportement par défaut de l'identifiant automatique. Ajout d'un enregistrement dans une requête L'ajout d'un enregistrement dans une requête peut être effectué : - soit uniquement dans le résultat de la requête.
- soit directement dans les fichiers de données manipulés par la requête (constante hModifieFichier utilisée dans les fonctions HExécuteRequête ou HExécuteRequêteSQL). Dans ce cas, la constante hAvecFiltre est automatiquement sélectionnée.
Quel que soit le mode d'exécution de la requête (avec ou sans la constante hAvecFiltre), l'ajout d'enregistrement dans une requête n'est possible que pour les requêtes mono fichier. Les rubriques calculées précisées lors de l'ajout sont ignorées. Elles sont automatiquement calculées. Attention : - Tout ajout dans une requête utilisant les groupes ou les agrégats est interdit.
- La gestion de l'intégrité et des doublons n'est pas réalisée lors d'opérations sur les requêtes multi-fichiers : il est conseillé d'utiliser les transactions pour éviter tout problème.
Parcours et ajout d'enregistrements Il est possible de paramétrer l'influence de l'ajout d'un enregistrement pendant le parcours d'un fichier de données (constantes hEcritureDéfaut et hAffecteParcours). Le fonctionnement des versions précédentes est conservé grâce à la constante hAffecteParcours. Problème de lenteur lors du premier ajout ou de la première suppression dans un fichier de données HFSQL Un problème de lenteur inexpliqué peut apparaître lors du premier accès à un enregistrement d'un fichier de données HFSQL. Pour corriger ce problème : - Désactivez l'antivirus pour l'analyse des fichiers .FIC, .NDX, .MMO et .REP.
- Désactivez l'option "Restauration du système" sous Windows XP.
Classification Métier / UI : Code métier
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|