PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE


  • Modification du type de blocage sur un enregistrement
  • Influence du mode de blocage
  • Echec du blocage
  • Nombre de blocages
  • Connecteur Natif SQL Server : Blocage uniquement en écriture
  • Gestion des blocages en OLE DB
  • Persistance du blocage
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
Bloque un enregistrement et restreint l'accès à cet enregistrement pour toutes les autres applications. L'enregistrement pourra ensuite être débloqué grâce à la fonction HDébloqueNumEnr.
Remarque : Après l'exécution de la fonction HBloqueNumEnr, plusieurs cas peuvent se présenter :
  • L'enregistrement est déjà bloqué par une autre application : le blocage ne peut pas être effectué.
  • Le fichier de données contenant l'enregistrement est bloqué en totalité : le blocage ne peut pas être effectué.
Par défaut, une gestion automatique des erreurs de blocages et des conflits de modification est effectuée (sauf dans le code des procédures stockées). A tout moment, il est possible de personnaliser ou de débrancher cette gestion automatique des erreurs avec la fonction HSurErreur.
Lors d'un problème de blocage, la fonction HErreurBlocage renvoie Vrai.
Attention : Cette fonction HBloqueNumEnr doit être utilisée avec précaution : en effet, lors du blocage, l'enregistrement n'est pas re-lu. Il peut donc avoir été supprimé ou modifié depuis le dernier accès à cet enregistrement. Il est conseillé d'utiliser la fonction HLit avec option de blocage.
Windows Mobile Cette fonction peut être utilisée avec des fichiers de données HFSQL Client/Serveur ou des fichiers de données manipulés par les Connecteurs Natifs. Cette fonction n'est pas disponible avec HFSQL Mobile.
Versions 16 et supérieures
Java Cette fonction est désormais disponible pour les applications Java.
Java Cette fonction est disponible uniquement pour les fichiers de données HFSQL. Elle n'est pas disponible pour les fichiers de données accédés par JDBC.
Nouveauté 16
Java Cette fonction est désormais disponible pour les applications Java.
Java Cette fonction est disponible uniquement pour les fichiers de données HFSQL. Elle n'est pas disponible pour les fichiers de données accédés par JDBC.
Java Cette fonction est désormais disponible pour les applications Java.
Java Cette fonction est disponible uniquement pour les fichiers de données HFSQL. Elle n'est pas disponible pour les fichiers de données accédés par JDBC.
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
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Android Cette fonction est désormais disponible pour les applications Android (pour les fichiers de données HFSQL).
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Nouveauté 18
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Android Cette fonction est désormais disponible pour les applications Android (pour les fichiers de données HFSQL).
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Android Cette fonction est désormais disponible pour les applications Android (pour les fichiers de données HFSQL).
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
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.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
Exemple
// Blocage d'un enregistrement du fichier de données Client
HBloqueNumEnr(Client, hNumEnrEnCours, hBlocageLectureEcriture)
// Traitement sur l'enregistrement
...
// Redonner l'accès à l'enregistrement
HDébloqueNumEnr()
Syntaxe
<Résultat> = HBloqueNumEnr([<Fichier de données> [, <Enregistrement à bloquer>]] [, <Blocage>])
<Résultat> : Booléen
  • Vrai si l'opération a été réalisée,
  • Faux en cas de problème. 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 HBloqueNumEnr va manipuler le dernier fichier de données utilisé par la dernière fonction de gestion HFSQL (fonction commençant par la lettre H).
<Enregistrement à bloquer> : Entier optionnel
Numéro de l'enregistrement à bloquer.
Si ce paramètre n'est pas spécifié, la fonction HBloqueNumEnr va manipuler l'enregistrement en cours.
Connecteurs Natifs (Accès Natifs) La fonction HBloqueNumEnr bloque 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).
<Blocage> : Constante optionnelle de type entier
Permet de déterminer le type de blocage effectué sur l'enregistrement.
hBlocageEcriture
(valeur par défaut)
Blocage en écriture : l'enregistrement du fichier de données pourra être lu par une autre application mais ne pourra pas être modifié par une autre application.
Aucun blocage sur l'enregistrement ou le fichier de données ne pourra être défini par une autre application.
hBlocageLectureEcritureBlocage en lecture/écriture : l'enregistrement du fichier de données ne pourra ni être lu ni être modifié par une autre application.
Aucun blocage sur l'enregistrement ou le fichier de données ne pourra être défini par une autre application.
hBlocageNonAucun blocage : l'enregistrement pourra être lu ou modifié par une autre application.
Remarques

Modification du type de blocage sur un enregistrement

Pour modifier le type de blocage d'un enregistrement, appelez la fonction HBloqueNumEnr avec le type de blocage souhaité. Il n'est pas nécessaire de débloquer l'enregistrement au préalable.

Influence du mode de blocage

Si le fichier de données est en mode de blocage hModeMono (voir la fonction HMode), la fonction HBloqueNumEnr n'a aucun effet.

Echec du blocage

Si l'enregistrement est déjà bloqué, la demande de blocage est répétée H.NbEssais fois (50 par défaut).
Si au bout des H.NbEssais tentatives le fichier de données ne peut être bloqué, la fonction HErreurBlocage renvoie Vrai. La variable H.Niveau indique si l'enregistrement ou le fichier de données est bloqué.

Nombre de blocages

Le nombre d'enregistrements pouvant être bloqués individuellement dans un fichier de données est illimité.
WINDEVWEBDEV - Code ServeurEtats et RequêtesAjaxProcédures stockéesConnecteurs Natifs (Accès Natifs)

Connecteur Natif SQL Server : Blocage uniquement en écriture

La fonction HBloqueNumEnr ne bloque qu'en écriture, pas en lecture. La fonction HBloqueNumEnr empêche donc une modification de l'enregistrement par un autre poste.
La fonction HBloqueNumEnr utilisée sur un enregistrement bloqué ne renvoie PAS d'erreur de blocage (car seule une lecture est effectuée).
Par contre, la fonction HModifie renverra une erreur de blocage sur l'enregistrement bloqué.
WINDEVWEBDEV - Code ServeurEtats et RequêtesWindows MobileAjaxProcédures stockéesOLE DB

Gestion des blocages en OLE DB

La fonction HBloqueNumEnr n'est pas supportée. Cette fonction génère l'erreur non fatale "Opération invalide sur ce type de base".
WINDEVWEBDEV - Code ServeurAjaxConnecteurs Natifs (Accès Natifs)

Persistance du blocage

Avec les Connecteurs Natifs SQLServer et Sybase, la relecture d'un enregistrement bloqué par la fonction HBloqueNumEnr débloque celui-ci.
Composante : wd250hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire