Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD > InterBase
InterBase Forum d'entraide sur le SGBD InterBase de Codegear. Avant de poster -> F.A.Q Interbase, Tutoriels
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/03/2006, 18h09   #1
Membre confirmé
 
Avatar de touhami
 
Inscription : avril 2002
Messages : 327
Détails du profil
Informations forums :
Inscription : avril 2002
Messages : 327
Points : 209
Points : 209
Par défaut Verrouiller un enregistrement

Bonjour a tous,
SVP comment verrouiller un enregistrement ?
Je m’explique :
J’ai une table des clients, deux utilisateurs accèdent en même temps a cette table :
Citation:
Le Premier utilisateur est entrain de modifier son un client X, mais il n’a pas encore confirmer (poster) ces modifications.
Citation:
Le Deuxième utilisateur veut supprimer le même client X, (a l'aide du DBNavugateur)
Moi je veux empêcher le deuxième utilisateur de supprimer ce client même si les modification du premier utilisateur n’est pas encore poster !!
Car si le deuxième utilisateur supprime le client X , le premier utilisateur est devant un Conflit quand il post ces modification.
SVP Comment réaliser ce verrou et c'est au niveau Interbase ou bien par programmation (Delphi)
J’utilise Interbase 6.5 Delphi 7 entreprise et les Composants IBX
Bon développement a tous.
touhami est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2006, 16h34   #2
Futur Membre du Club
 
Inscription : octobre 2005
Messages : 16
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 16
Points : 18
Points : 18
Il faut créer un flag dans ta table qui passera à vrai lorsque le premier utilisateur sera rentrée en modifictaion sur l'enreg.

Ensuite tu dois modifier ta requête qui ne ramène que les enregs non flagués, comme cela no souci pas d'accès conccurent
michel_ballasse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2006, 10h15   #3
Membre confirmé
 
Avatar de touhami
 
Inscription : avril 2002
Messages : 327
Détails du profil
Informations forums :
Inscription : avril 2002
Messages : 327
Points : 209
Points : 209
Bonjour,
Merci pour votre reponse et SVP plus de precision.
Bon developpement.
touhami est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2006, 09h27   #4
Futur Membre du Club
 
Inscription : octobre 2005
Messages : 16
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 16
Points : 18
Points : 18
ajouter une colonne à chaque table intitulée FLAG

chaque fois que l'utilisateur, à partir de son application va passer en édition, il faudar faire un update sur la table et sur l'enregsistrement en question :
update table set flag=1 where enreg_id = xxxx

en parallèle, vaant chauqe opération sur la table il faut aller vérifier par SQL l'état de ce flag
select flag from table where enregg_id= xxxx
si flag = 0 on peut modifier l'enreg
si falg = 1 on ne peut rien faire c'est "locké" applicativement

si tu as un souci pour la mise en place contacte moi en MP
michel_ballasse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2006, 11h52   #5
Membre confirmé
 
Avatar de touhami
 
Inscription : avril 2002
Messages : 327
Détails du profil
Informations forums :
Inscription : avril 2002
Messages : 327
Points : 209
Points : 209
Bonjour,
je vais testé ça ce soir ,
Merci baucoup michel_ballasse , et bon courrge.
touhami est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2006, 11h59   #6
Invité de passage
 
Inscription : janvier 2005
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 3
Points : 2
Points : 2
Bonjour,

Et pourquoi ne pas utiliser les transactions ?
agecanonix est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h25.


 
 
 
 
Partenaires

Hébergement Web