Maitre / détail avec plusieurs utilisateurs

cs_Tolliap Messages postés 60 Date d'inscription lundi 4 décembre 2006 Statut Membre Dernière intervention 11 janvier 2013 - 11 févr. 2009 à 15:41
cs_Tolliap Messages postés 60 Date d'inscription lundi 4 décembre 2006 Statut Membre Dernière intervention 11 janvier 2013 - 12 févr. 2009 à 11:12
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

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
12 févr. 2009 à 09:52
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()) ;
0
cs_Tolliap Messages postés 60 Date d'inscription lundi 4 décembre 2006 Statut Membre Dernière intervention 11 janvier 2013
12 févr. 2009 à 09:54
????
Sa veut dire quoi "dans une même transaction"??


Qui ne tente rien, n'a rien
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
12 févr. 2009 à 11:04
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()) ;
0
cs_Tolliap Messages postés 60 Date d'inscription lundi 4 décembre 2006 Statut Membre Dernière intervention 11 janvier 2013
12 févr. 2009 à 11:12
Trés intéressant, je vais m'en inspirer.

Merci pour le lien.


Qui ne tente rien, n'a rien
0
Rejoignez-nous