begin process at 2010 02 09 19:53:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Base de données

 > 

Autre

 > 

acces simultanes dans une table


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

acces simultanes dans une table

lundi 2 février 2009 à 23:35:33 | acces simultanes dans une table

belaid52


Messieurs bonsoir,
J'ai une table qui contient un matricule. Cette table est utilisee et mise a jour par plusieurs personnes en meme temps. Cette rubrique que j'ai appelee Matricule est cree a chaque ajout d'enregistrement(append) dans la table qui est calcule juste en incrementant le dernier matricule enregistre.
comment empecher que deux utilisateurs simultanes creent deux matricules identiques.
exemple :
dernier enregistrement :  128 
deux utiliseurs font un Append en meme temps et auront un meme matricule 129
Comment gerer le fait qu'un utilsateur lance un Append, l'autre utilisateur soit bloquer que le premier n'a pas fait un post.
Merci 
mardi 3 février 2009 à 00:28:46 | Re : acces simultanes dans une table

Delphiprog

Administrateur CodeS-SourceS
INSERT INTO maTable(matricule)
SELECT Max(matricule) + 1 FROM maTable

C'est tout simple et ça remplace un champ autoincrémenté.

May Delphi be with you !

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
mardi 3 février 2009 à 17:13:22 | Re : acces simultanes dans une table

cantador

Membre Club
bonsoir,

et si 10 utilisateurs cliquent en même temps ?
que se passe t-il ?

cantador
mardi 3 février 2009 à 20:51:41 | Re : acces simultanes dans une table

belaid52


Salut les amis,
je reformule ma question :
je veux verrouiller  ma table tant qu'un utilisateur a fait un append et des qu'il fait un post, la table se deverrouille.
Merci
mardi 3 février 2009 à 22:03:28 | Re : acces simultanes dans une table

cantador

Membre Club
Réponse acceptée !
Le mieux me semble t-il à moins que delphiprog démontre le contraire est de mettre en place un champ auto-incrémental qui sera géré directement par le serveur lui-même et ainsi même si 50 utilisateurs cliquent en même temps,
le programe s'en sortira et attribuera 50 numéros incrémentés.

et dans cette solution, nul besoin de bloquer quoi que soit...

cantador
mercredi 4 février 2009 à 20:15:36 | Re : acces simultanes dans une table

belaid52


Bonsoir,
je voudrai utiliser une fonction que j'ai trouve sur l'internet mais je ne sais vraiment la mettre en oeuvre :

function TableIsReallyLocked(MyTable: TTable): Boolean;
begin
 Result:=False;
 with MyTable do
      begin
      try
         LockTable;
      except                        
          Result:=True;
      end;
  end;
end;
A quel moment on avise les utilsateurs que cette table est verrouillee.

je suis nouveau dans Delphi

Merci
mercredi 4 février 2009 à 22:23:10 | Re : acces simultanes dans une table

cantador

Membre Club

ça concerne les tables paradox..
Cela permet de gérer directement la concurrence d'accès au niveau table, indépendamment du niveau d'isolement en vigueur.
Alors que le niveau d'isolement d'une transaction fixe généralement les types de verrous définis lors de l'exécution d'une requête, l'instruction LOCK TABLE permet un verrouillage plus explicite des lignes d'une table.
Attention, c'est très délicat à manipuler..
On lui préfère généralement une gestion au niveau des composants d'accès à la base.
Et puis le BDE + paradox aujourd'hui, c'est franchement à éviter.

cantador

mercredi 4 février 2009 à 22:51:23 | Re : acces simultanes dans une table

belaid52


Bonsoir,
je vais vous decrire un peu comment je procede.

j'ai mon application sur pc1. Sur le  pc2, je crois un raccourci vers l'applacation sur pc1.
l'utilisateur du pc1 et du pc2 se connectent a l'application.

Je n'ai que append, edit,  post.....Mais pour les composants d'acces aux tables....

je ne sais pas que ce que c'est?

merci

jeudi 5 février 2009 à 08:09:54 | Re : acces simultanes dans une table

cantador

Membre Club

oui, mais on a du mal à te suivre...
tu évoques un souci d'incrément et maintenant c'est une base avec 2 users...etc.

je ne sais pas que ce que c'est?

si tu n'en sais pas plus que ça et que tu ne connais pas non plus ton problème ?
...
dur ..dur..

???
cantador

jeudi 5 février 2009 à 13:11:06 | Re : acces simultanes dans une table

belaid52


bonjour,
Le probleme d'incrementation est resolue. j'ai fait "Reponse acceptee".

c'est suite a votre reponse concernant Lock Table et  en lisant ce que vous avez ecrit:
   "On lui préfère généralement une gestion au niveau des composants   d'accès  à    la base"
que je voulais savoir quels sont les composants qui peuvent gerer tous ces problemes.
C'est pour ce la que je vous decris un peu ma facon de faire les choses et si je suis sur la bonne voie.
merci


1 2

Cette discussion est classée dans : table, acces, append, matricule, simultanes


Répondre à ce message

Sujets en rapport avec ce message

Edit apres un append dans une boucle [ par epeichette ] Bonjour,Je souhaite effectuer une opération très simple : Mettre à jour les données d'un champ d'un enregistrement.Je lis dans une table Paradox des Aide delphi ODBC acces [ par ickx78 ] salut a tous j'ai un problemeje veux utiliser une base ACCESS par ODBC+BDE  mais apres configuration lorsque j'utilise le composant Ttable et je veux Créer une Table dans Acces par programme [ par Cobuce ] Salut,J'utilise la base des données Acces, je cherche à créer à partir du programme une table dans cette base des données.Comment le faire ?   Aidez-m ttrackbar et execution en double [ par toonytoun ] salut tous le monde :-) voila j'ai un petit probleme avec une ttrackbar: le truc c'est que j'ai affecté a la propriété onChange de la ttrackbar des r Transfert de données [ par fouroulou ] Bonjour tout le monde,J'ai beaucoup cherché mais sans résultat satisfaisant ;Je voudrais transferer des données stockées dans une table vers une page listbox multiselect et BDD [ par gabs77 ] slt, je voudrais savoir si il était possible de faire un multiselect d'une listbox permettant de rechercher des données dans une base de donnéeen clai Image et acces [ par Rapakooti ] salut, et merci d'avance pour vos réponse.Je sais que tu as déjà repondu a la question  Delphiprog dans le forum mais j'ai pas réussi à appliqué ta ré table master sur une autre [ par paradoxham ] SLTj ai 3 tables : zone ;emplacement; articleje veux que la table zone soit master sur emplacement et que emplacement soit master sur article.J ai ess S.O.S acces sous reseau [ par louiza81 ] bonjour  je suis debutante en delphi , je voudrais realiser  une petite application sous reseaux avec 1 base de données access  ....comment faire pour Problème avec relation maitre détail [ par codial ] Bonjour,j'ai un souci avec une relation maitre/detail.J'ai une table Professionnels (tblPro) avec id_pro comme index et une table des contacts des pro


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,858 sec (3)

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