salut
je vais essayer de bien expliquer mon probleme :
je developpe une application de gestion de contrats de maintenance en utilisant delphi,ADO,Mysql.
par exemple un contrat regroup plusieurs equipement les equipement peuvent etre des pc imprimentes ou autres il sonts stoqués dans une meme table
pour chaque equipement ya plusieurs atributs : model,n°serie,localisation ext...
quand un contrat est enregistrer on doit remplire toutes les informations pour chaque equipement inséré , au cours de la periode de validitée d'un contrat il se peut qu'un equipement change de localisation donc on doit la changer, ou bien il se peut qu'un equipement soir remplacé par un autre donc on doit editer le contrat j'ais suivie l'approche suivante :
01-editer le contrat : recuperer la lise des equipements avec une requette TADOQuery
02-transferer la lise des equipement dans un ListeView (Du TADOQuery vers le ListeView)avec une boucle
03-l'utilisateure apporte les modifications nesaisaire pour les equipements consérnés dans le ListeVieuw a travers des masques de saisies specifiques.(la durée de cette etape est relativement longue)
04-a la fin l'utilisateure apuis sur le bouton enregister pour enregister les modifications dans la BDD (je transfert le contenue du ListeView vers la BDD avec une boucle en utilisant les procedures de delphi de ce genre:
Equipement.Insert;
Equipement.fieldbyName('N_equ').AsInteger:=StrToInt(a);
.......
Equipement.fieldbyName('N_loc').AsInteger:=StrToInt(g);
Equipement.Post;
)
le probleme c'est comment gerer la concurance d'accés a la BDD par exemple si entre l'ettape 01 et 04 un autre utilisateure fait une autre modification du contrat sur un autre PC ses modifications ne serons pas prisent en compte .
je ne sait pas si on peut utiliser les transactions dans mon cas si oui comment ?
j'ai aussi entendue parler du Lock Table si ca convien comment ?
Merci .