PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Manipulations d'un enregistrement supprimé
  • Nombre d'enregistrements supprimés
  • Suppression d'un enregistrement à partir d'une requête
  • Version du fichier de données
  • Taille du fichier de données
  • Suppression et blocage
  • xBase/FoxFro
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Supprime un enregistrement d'un fichier de données (d'une requête ou d'une vue). L'enregistrement est supprimé logiquement et physiquement. Il ne pourra pas être restauré (contrairement aux enregistrements rayés avec la fonction HRaye).
Les opérations effectuées sont les suivantes :
  • l'enregistrement est supprimé : l'enregistrement est rendu inactif et il n'est plus référencé dans l'index. Les données ne sont pas conservées.
  • les index (correspondant aux clés de l'enregistrement) sont supprimés du fichier d'index.
  • les mémos associés à l'enregistrement sont supprimés du fichier de mémo.
Après l'exécution de la fonction HSupprime, l'enregistrement est inséré dans la liste des enregistrements supprimés du fichier de données et sera ré-utilisé par la fonction HAjoute.
PHPOLE DBAccès Natifs L'enregistrement supprimé n'est plus visible par le parcours sur la rubrique courante. Cet enregistrement ne sera plus visible pour les parcours sur les autres rubriques uniquement après ré-initialisation de ces parcours.
WINDEV, WINDEV Mobile et WEBDEV proposent une gestion automatique des erreurs pour les 5 types d'erreur suivants : 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.
Remarque : Pour supprimer tous les enregistrements d'un fichier de données, utilisez la fonction HSupprimeTout.
Versions 15 et supérieures
WINDEV MobileAndroid Cette fonction est désormais disponible pour les applications Android.
Nouveauté 15
WINDEV MobileAndroid Cette fonction est désormais disponible pour les applications Android.
WINDEV MobileAndroid Cette fonction est désormais disponible pour les applications Android.
Versions 17 et supérieures
WINDEV MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
WINDEV MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
WINDEV MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
WINDEV MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Nouveauté 18
WINDEV MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
WINDEV MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WINDEVWINDEV MobileUniversal 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 21 et supérieures
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Exemple
WINDEVWEBDEV - Code ServeurWINDEV MobileiPhone/iPadWindows MobileUniversal Windows 10 AppJavaPHPAjaxHFSQLHFSQL Client/ServeurHyper File 5.5
// Supprime l'enregistrement numéro 123
HSupprime(Client, 123)
// Suppression des commandes d'un client
HLitRecherchePremier(COMMANDE, NUMCLI, ValNumCli)
TANTQUE HTrouve() = Vrai
        HSupprime()
        HLitSuivant()
FIN
// Suppression des commandes d'un client
POUR TOUT COMMANDE AVEC NUMCLI = ValNumCli
HSupprime()
FIN
Syntaxe
<Résultat> = HSupprime([<Nom du fichier> [, <Numéro d'enregistrement> [, <Options>]]])
<Résultat> : Booléen
  • Vrai si l'enregistrement a été supprimé,
  • Faux en cas de problème (enregistrement bloqué, etc. (voir cas particuliers)). La fonction HErreurInfo permet d'identifier l'erreur.
Si l'enregistrement à supprimer est déjà supprimé, la fonction HSupprime renvoie Vrai.
<Nom du fichier> : Chaîne de caractères optionnelle (avec ou sans guillemets)
Nom du fichier de données HFSQL ou de la vue manipulé. Si ce paramètre correspond à une chaîne vide (""), la fonction HSupprime manipule 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 à supprimer. Si ce paramètre n'est pas précisé (est égal à 0 ou à la constante hNumEnrEnCours), l'enregistrement en cours sera supprimé. Cependant, l'enregistrement en cours restera l'enregistrement supprimé.

ATTENTION : Il ne faut pas confondre le numéro d'enregistrement avec l'identifiant automatique associé à l'enregistrement.
Dans une utilisation normale, ces deux numéros ne sont pas identiques. Le numéro d'enregistrement peut être connu par la fonction HNumEnr.
OLE DBAccès Natifs Ce paramètre doit obligatoirement correspondre au numéro de l'enregistrement en cours (constante hNumEnrEnCours).
Java Accès par JDBC : Ce paramètre doit obligatoirement correspondre au numéro de l'enregistrement en cours (constante hNumEnrEnCours).
<Options> : Constante optionnelle
Paramètre la gestion de l'intégrité réalisée sur l'enregistrement supprimé.
hIgnoreIntégritéIgnore le contrôle d'intégrité sur cette opération, même si le contrôle de l'intégrité automatique est branché (fonction HGèreIntégrité)
PHP Ce paramètre est ignoré.
Java Accès par JDBC : Ce paramètre est ignoré.
Remarques
WINDEVWEBDEV - Code ServeurWINDEV MobileiPhone/iPadWindows MobileUniversal Windows 10 AppJavaPHPAjaxLangage ExterneHFSQLHFSQL Client/ServeurHyper File 5.5

Manipulations d'un enregistrement supprimé

WINDEVWEBDEV - Code ServeurWINDEV MobileiPhone/iPadWindows MobileUniversal Windows 10 AppJavaPHPAjaxLangage ExterneHFSQLHFSQL Client/ServeurHyper File 5.5

Nombre d'enregistrements supprimés

La fonction HNbEnr permet de connaître le nombre d'enregistrements supprimés dans le fichier de données.
Remarque : Par compatibilité avec Hyper File 5.5, il est aussi possible de connaître le nombre d'enregistrements supprimés grâce à la variable H.NbSup.

Suppression d'un enregistrement à partir d'une requête

La suppression d'un enregistrement dans une requête peut être effectuée :
  • 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), la fonction HSupprime n'est utilisable que sur les requêtes mono-fichier.
Attention :
  • Sur des fichiers de données non HFSQL, il est inutile de préciser la constante hModifieFichier dans les fonctions HExécuteRequête ou HExécuteRequêteSQL : les fichiers de données intervenant dans la requête sont automatiquement modifiés lors de la modification du résultat de la requête.
  • Il est impossible de supprimer un enregistrement dans une requête utilisant les groupes ou les agrégats.
  • 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.
Pour plus de détails, consultez Modifier le contenu d'une requête.
WINDEVWEBDEV - Code ServeurWINDEV MobileiPhone/iPadWindows MobileUniversal Windows 10 AppJavaPHPAjaxLangage ExterneHFSQLHFSQL Client/ServeurHyper File 5.5

Version du fichier de données

En cas de succès de la fonction HSupprime, le numéro de version du fichier de données est modifié. Ce numéro de version est donné par la fonction HVersion.
WINDEVWEBDEV - Code ServeurWINDEV MobileiPhone/iPadWindows MobileUniversal Windows 10 AppJavaPHPAjaxLangage ExterneHFSQLHFSQL Client/ServeurHyper File 5.5

Taille du fichier de données

La suppression d'un ou plusieurs enregistrements n'a pas d'incidence sur la taille totale du fichier de données sur disque. Les emplacements laissés libres dans le fichier de données par les suppressions seront réutilisés lors des prochains ajouts d'enregistrements (fonction HAjoute). Cette fonctionnalité permet d'obtenir de meilleurs performances, la réduction de la taille d'un fichier de données étant souvent coûteuse en temps.
Cependant, si après de nombreuses suppressions, il est nécessaire de réduire la taille d'un fichier de données, il est possible de le ré-indexer (via la fonction HRéindexe, l'outil WDMap ou le Centre de Contrôle HFSQL).
WINDEVWEBDEV - Code ServeuriPhone/iPadUniversal Windows 10 AppJavaAjaxLangage ExterneHFSQLHFSQL Client/ServeurHyper File 5.5OLE DBAccès Natifs

Suppression et blocage

Si un problème de blocage apparaît lors de la "suppression" d'un enregistrement (tentative de suppression d'un enregistrement bloqué en écriture par exemple), l'enregistrement n'est pas supprimé et la fonction HErreurBlocage renvoie Vrai.
WINDEVWEBDEV - Code ServeurWINDEV MobileWindows MobileAjaxAccès Natifs

xBase/FoxFro

La fonction HSupprime a le même effet que la fonction HRaye : l'enregistrement est rayé et non supprimé. L'enregistrement peut donc être réactivé par la fonction HModifie. Dans ce cas, la fonction HEtat renvoie la constante hEtatRaye sur un enregistrement supprimé (et non la constante hEtatSup).
Pour supprimer physiquement les enregistrements rayés, il faut utiliser la fonction HRéindexe.
Fichiers FoxPro : La fonction HRéindexe n'est pas disponible
Composantes
WINDEVWEBDEV - Code Serveur wd220hf.dll
Windows Mobile wp220hf.dll
Java wd220java.jar
Linux wd220hf.so
Android wd220android.jar
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire