Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Probléme de concurrance d'accés a une BDD réseau [ Base de données / MySQL ] (toubal_99)

jeudi 30 novembre 2006 à 20:26:18 | Probléme de concurrance d'accés a une BDD réseau

toubal_99

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 .

jeudi 30 novembre 2006 à 20:50:24 | Re : Probléme de concurrance d'accés a une BDD réseau

MAURICIO

Le plus simple est lorsque tu edites le contrat, tu édites son enregistrement dans la table des contracts, comme ça, plus personne ne peut editer tant que tu es dessus ...

Je crois que ça devrait etre comme ça sous ADO:
try
  tablecontrat.edit;

  ....
except
  ShowMessage("ce contrat est en edition sur un autre poste!");
end;

Tu fais le tablecontrat.post (ou tablecontrat.Cancel) quand tu enregistres le contract à la fin !!!
A+

 


jeudi 30 novembre 2006 à 20:56:41 | Re : Probléme de concurrance d'accés a une BDD réseau

MAURICIO

Ha oui, une derniere chose, la table doit etre en mode "Pessimistic" ce qui veut dire qu' un seul utilisateur peut editer le même enregistrement. Mais je ne sais pas comment on fait sous ADO, je n' ai pas Delphi sous la main en ce moment ...

Pour info, il existe le mode "Optimistic", plusieurs personnes (techniquement on parle de "Cursor") peuvent editer le même registre mais seul le 1er à enregistrer (faire le "post") sera validé!!!
A+

jeudi 30 novembre 2006 à 21:30:25 | Re : Probléme de concurrance d'accés a une BDD réseau

toubal_99

j'ai pas utiliser la methode.EDIT , pour chaque enregistrement modifiée je le suprime de la table et je le rajoute ensuite sous sa forme modifiée
mais meme si j'avais utiliser le edit ca aurais doner la meme chose parceque les informations contenue dans le ListeVieuw sont de touite façon pas ajours puisque entre le momont u j'ai fait la lecture (etape 01) et le momont ou je commance a modifier les enregistrement (etape 04) le contenue de la tables des equipement a changer et n'est pas le meme que ce que j'avais u avec la requette a l'ettape 01



Cette discussion est classé dans : bdd, listeview, accés, contrat, equipement


Répondre à ce message

Sujets en rapport avec ce message

control accés a une base de donnée [ par tarik ] je vous prie de m'aider, je voudrais savoir comment comparer le text d'un tedit avec le contenu d'un champs d'une base de donnéemerci. securite d'une base de données par le control d'accés [ par tarik ] je vousdrais assurer la securite d'une base de données par le control d'accés cependant je n'arrive pas a trouver comment comparer le contenu d'unt te Sql et Bdd [ par viper ] Je cherche depuis qq temps à récupérer le resultat d'une requet SQL avec un TQuery et une base de donnée mais sans succès...J'aimerais donc savoir com Lien vers des fichiers dans une bdd??? [ par pedrito83 ] débutant confirmé ;-)Voilà, je dois programmer en Delphi2 (oui je sais on en est au 6 ) et je débute en delphi (1 semaine que je programme seulement ) Selectionner un alias de BDD à partir d'un formulaire [ par lomig ] Bonjour, j'aimerais pouvoir a partir d'un formulaire, avoir accès à la liste des alias de BDD pour pouvoir en choisir une et l'assigner aux differents requete sql avec or sur le même champs [ par choup ] 'lutj'ai un petit probleme et je n'arrive pas à comprendre pourquoi : celà ne me semble pas logique.voilà : j'ai une requete qui donne "select *from o BDD et Internet [ par JoeyAstor ] Bon alors c pas simple ... pour moi en tout cas ...je voudrais me connecter à une base access ... jusque là pas de problème ... si ce n'est que ma bas àexécution/pas à pas [ par usmok ] j'ai un prog ki gere plusieurs bddkan j'exécute l'appli, mon prog plante (pendant kil é en train de trier des infos stovker sur une des bdd)alors ke k àexécution/pas à pas [ par usmok ] j'ai un prog ki gere plusieurs bddkan j'exécute l'appli, mon prog plante (pendant kil é en train de trier des infos stovker sur une des bdd)alors ke k problème d'algorithmique pascal [ par manudel ] J'ai une condition en "if".Si contrat = 0 alors je dois boucler 2 fois sur ma variable iSinon je dois boucler une seule fois sur ma variable i.Le prob


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 2,465 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.