Création d'identifiant unique dans une appli réseau - multi-utilisateurs
Stagiaire WDF
Inscrit:
11/02/2005 01:08
Post(s): 8
Bonjour

Ma question est relativement simple :

Quelle est la meilleure solution pour créer correctement et sans risque d'erreur un identifiant unique (par exemple code client du type CLxxxx ou xxxx est un numéro en séquence auto-incrémenter par l'application) dans une application réseau multi-utilisateurs pour éviter les conflits et être sûr que l'identifiant calculé soit correct ?

Faut il gérer un compteur à part dans une table, ou peut on se baser sur le dernier enregistrement client créé pour calculer le suivant ? Quid de la gestion des blocages le temps de calculer ce nouvel identifiant ...

Merci pour vos pistes et suggestions

Cordialement à tous...

Contribution le : 26/09/2010 00:57
Créer un fichier PDF de la contribution Imprimer


Re: Création d'identifiant unique dans une appli réseau - multi-utilisateurs
Stagiaire WDF
Inscrit:
11/02/2005 01:08
Post(s): 8
Bonjour ... encore ...

Voici ce que j'envisage de faire .

L'utilisateur clique pour ajouter un client. Ouveture de la fenêtre fiche client. Les rubriques écran sont liées aux rubriques fichier
La fiche est remplie par l'utilisateur ... pas de blocage fichier FicClient à ce stade
L'utilisateur valide la saisie pour un clic sur le bouton "Valider" ... A ce stade voici l'algorithme du bouton de validation


=> blocage du fichier client en écriture // éviter la création d'un nouvel enregistrement pendant que celui ci est en cours de validation
=> lecture du dernier enregistrement sur la clé "code client" // pour déterminer le dernier code client attribué et calculer le suivant sous la forme CLxxxx (ou xxxx est incrémenté)
=> calcul de l'identifiant suivant
=> Hraz (FicClient) // remise à zéro de tous les champs du fichier FicClient pour éviter de rester avec des valeurs de champs de la dernière lecture, surtout si l'utilisateur n'a pas saisi tous les champs de la fiche
=> attribution du nouvel identifiant à la rubrique fichier FicClient.CodeClient = identifiantCalculé
=> EcranVersFichier // transfert de tous les champs saisie vers les rubriques fichier FicClient
=> HAjoute (FicClient) // création de l'enregistrement avec tous les champs affectés
=> Vérification d'éventuelles erreurs // FicClient.CodeClient clé unique hErreurDoublon
=> déblocage du fichier FicClient
=> Sortie de la fenêtre de saisie ..


Est-ce que tout cela semble cohérent...sinon merci de préciser les points faibles et les solutions possibles pour améliorer le processus...

Encore merci pour l'entreaide..

Cordialement

Contribution le : 26/09/2010 19:49
Créer un fichier PDF de la contribution Imprimer


Re: Création d'identifiant unique dans une appli réseau - multi-utilisateurs
Utilisateur WDF
Inscrit:
20/06/2006 14:56
Post(s): 57
Bonsoir,
Il n'est pas obligé de bloqué (je te le déconseilles) tout le fichier pour créer un client, les identifiants unique sont fiables et au pire (fichier index cassé) des cas l'utilisateur sera averti d'une erreur de doublon sur clé unique.

Par contre lors de la modification d'un client il vous faudra bloqué l'enregistrement à l'ouverture de la fiche client.

Contribution le : 29/09/2010 18:53
Créer un fichier PDF de la contribution Imprimer


Re: Création d'identifiant unique dans une appli réseau - multi-utilisateurs
Stagiaire WDF
Inscrit:
11/02/2005 01:08
Post(s): 8
Bonsoir

Merci pour la contribution...
Je fais des blocages au niveau enregistrement pour la modification d'une fiche effectivement.

Pour ce qui est de la création, j'ai préféré, pour la section critique (création du code client du type CLxxxx) procéder à un blocage complet en écriture sur le fichier client le temps de réaliser le calcul du code suivant et de valider les données.. J'utilise une méthode de blocage qui prévient les utilisateurs (inspirée de l'exemple WD15-Qui Bloque)...
La probabilité est cependant assez faible que deux utilisateurs valident au même instant une fiche client en création...surtout dans un contexte avec un NbUtilisateur <12 ... mais on ne sait jamais ce qui peut arriver..

Je reste ouvert à toute suggestion...

Merci pour la participation

Cordialement

Contribution le : 01/10/2010 03:38
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2