Maitre / détail avec plusieurs utilisateurs

Signaler
Messages postés
60
Date d'inscription
lundi 4 décembre 2006
Statut
Membre
Dernière intervention
11 janvier 2013
-
Messages postés
60
Date d'inscription
lundi 4 décembre 2006
Statut
Membre
Dernière intervention
11 janvier 2013
-
Bonjour,

J'ai un probleme :

Je possède 2 (dossier et palette)

Lorsque je créer un dossier via un formulaire, avec plusieurs palette, la relation maitre détail se passe bien...
Mon probleme vient si plusieurs utilisateur font un dossier en meme temps ( se qui arrive souvent chez moi), la relation Maitre / Détail ne marche pas, je m'explique :

Lors de la saisie du dossier, ADO donne un identifiant (id automatique) et lorsque je remplis mon tableau de palette, il met automatiquement l'id du dossier dans le tableau sur le champ IdDossier.
Mais si un autre utilisateur crée un dossier avant que le précédent n'est enregistrer, il prend l'identifiant de celui ci, et donc lorsque le 1 dossier s'enregistre, il me donne une erreur...

Savez- vous comment on peut bloqué l'identifiant?

Merci

Qui ne tente rien, n'a rien

4 réponses

Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
14 février 2015
49
Salut.
Si je comprends bien, tu as un problème de synchronisation pour tes requêtes. Essaye de faire tes requêtes de création de dossier et de palette dans une même transaction.

Krimog :
while (!succeed = try()) ;
Messages postés
60
Date d'inscription
lundi 4 décembre 2006
Statut
Membre
Dernière intervention
11 janvier 2013

????
Sa veut dire quoi "dans une même transaction"??


Qui ne tente rien, n'a rien
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
14 février 2015
49
Ah, j'ai oublié de demander si tu utilisais des requêtes SQL (C'est en sql qu'un utilise des transactions) (Si tu n'utilises pas SQL, je ne peux pas t'aider, désolé, je ne m'y connais pas en ado.net)

Une transaction, c'est un moyen de faire plein de requêtes d'un coup, ce qui évite les problèmes de synchronisation, ou d'erreurs en cas de crash par exemple.

Pour savoir comment utiliser les transactions, c'est très bien expliqué ici.

Krimog :
while (!succeed = try()) ;
Messages postés
60
Date d'inscription
lundi 4 décembre 2006
Statut
Membre
Dernière intervention
11 janvier 2013

Trés intéressant, je vais m'en inspirer.

Merci pour le lien.


Qui ne tente rien, n'a rien