FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 2024
→
duplication numéro en client serveur
duplication numéro en client serveur
Débuté par lolodev, 17 mar. 2018 19:02 - 7 réponses
Connectez-vous…
lolodev
#1
Posté le 17 mars 2018 - 19:02
Bonjour,
j'ai une application qui tourne en C/S avec HFCS
1 application / client
lorsque l'utilisateur créé un nouveau élément, l'application génére un numéro constitué du n° AA +n° de semaine + incrément.
je viens de constaté que si sur 2 postes je clique sur nouveau en même temps, je peux avoir le même numéro d’élément sur les 2 postes !
quelle methode employée afin de bloquer celà ?? merci
Signaler
0
0
Olivier BLAIS
#2
Membre enregistré
24 messages
Popularité : +4 (6 votes)
Posté le 18 mars 2018 - 02:43
Bonjour,
Quelque chose de rapide sans changer grand chose :
on_recommence
:
HAjoute
(
"nom_du_fichier"
)
SI
HErreurDoublon
(
)
ALORS
// changer le numéro d'incrémentation : +1
GOTO
on_recommence
FIN
--
Logiciel iWeb, pour aider les professionnels du SEO/SMO : Impulse-web.com
Signaler
0
0
lolodev
#3
Posté le 18 mars 2018 - 09:52
bonjour
merci
j'imagine plutôt un système de blocage...
Signaler
0
0
Marc LAZZARINI
#4
Membre enregistré
232 messages
Popularité : +23 (23 votes)
Posté le 18 mars 2018 - 13:50
Hello,
Le souci, c'est que bien souvent une erreur de doublon impose un hRéindexe.
En plus c'est tout bête, mais il n'y a pas de GOTO en Android, donc ça limite la ré-utilisabilité du code.
Pour faire ça proprement, tu t'arranges pour n'avoir qu'une seule procédure qui permet d'enregistrer un nouvel élément (POO, ou collection de procédures). Et tu encapsules ça dans une SectionCritique. Comme ça tu es certain que ton code ne sera jamais exécuté deux fois au même moment, le premier arrivé enregistre son élément, le deuxième est automatiquement mis en file d'attente le temps que le premier ait terminé.
C'est propre, et pas de risque d'erreur.
Cordialement,
Marc.
Signaler
0
0
Jean-Pierre
#5
Membre enregistré
1 939 messages
Popularité : +53 (65 votes)
Posté le 18 mars 2018 - 15:22
Bonjour,
Suggestion : crée le numéro à la validation en bloquant l'enregistrement jusqu'au hAjoute.
--
Bon dev,
Jean-Pierre
Signaler
0
0
Voroltinquo
#6
Membre enregistré
3 890 messages
Popularité : +227 (347 votes)
Posté le 18 mars 2018 - 16:12
Bonjour,
Essaye de voir du côté de HbloqueFichier
https://doc.pcsoft.fr/fr-FR/?3044153&name=HBloqueFichier
SI
Non
bloqué
ALORS
On bloque
On traite
On débloque
SINON
On attend pour traiter
FIN
--
Il y a peut être plus simple, mais, ça tourne
Signaler
0
0
FLU
#7
Posté le 18 mars 2018 - 22:04
Le 18/03/2018 à 01:43, Olivier BLAIS a écrit :
on_recommence
:
HAjoute
(
"nom_du_fichier"
)
SI HErreurDoublon
(
)
ALORS
// changer le numéro d'incrémentation : +1
GOTO
on_recommence
FIN
Plutôt comme ceci, c'est plus propre et concis :
BOUCLE
HAjoute
(
"nom_du_fichier"
)
À FAIRE TANTQUE HErreurDoublon
(
)
Signaler
0
0
lolodev
#8
Posté le 19 mars 2018 - 08:12
merci à tous !
j'ai mis en place l'idée d'olivier et ça fcte bien
par contre, la solution de Marc, je ne connaissais pas.
mais je me demande si ça fcte pour une application client/serveur, avec l'exe par client. Le thread principal est celui de chaque client. Donc comment un client peut savoir qu'un autre client veut accéder au code critique. le code critique etant sur chaque poste client...
merci
Signaler
0
0
→ Revenir à WINDEV 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Hors-sujet
Outils
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte