begin process at 2010 02 09 21:07:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Base de données

 > 

MySQL

 > 

Probléme de concurrance d'accés a une BDD réseau


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probléme de concurrance d'accés a une BDD réseau

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ée 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...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,296 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales