Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1716 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  ADO verrou sur une ligne d'une table

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ADO verrou sur une ligne d'une table

n°1235258
red factio​n
Posté le 31-10-2005 à 17:54:46  profilanswer
 

dans un procedure g ceci
 

Code :
  1. int givenewitem()
  2. {
  3.    rs.open ("select somevalue from table where ligne=7685" )
  4.    ....
  5.    newvalue=somevalue+1
  6.    .....
  7.    cmnd("update table set somevalue=newvalue" );
  8.    return newvalue;
  9. }


 
qui consiste a aller incrementer la valeur dune ligne dune table, le probleme c que plusieurs utilisateurs peuvent lancer la procedure en mm temps ce qui complique tout  [:pingouino]  
 
ex: user1 fait le select , user2 fait aussi un select juste apres (et recupere les donnée non update du 1)
 
le must ca serait de pouvoir locker le record des que le select est fait comme ca les autres attendent et sont bloques jusqu'a l'update
 
 
 
une autre solution serait de faire lupdate dun coup : update set somevalue=somevalue+1 where.... mais ce nest pa possible puisque je doit retourner la derniere valeur  :o  
 
jai deja regarde du cote des verrous fournis par ADO mais aucun ne me satisfait  :(  
 
adLockReadOnly (= 1)

Valeur de LockType
 
 
Signification
 
adLockReadOnly (= 1)
 
 
Verrouillage en lecture seule : les données ne peuvent pas être modifiées. C'est la valeur par défaut.
 
adLockPessimistic (=2)
 
 
Verrouillage pessimiste : les enregistrements sont verrouillés dans la source de données dès qu'ils sont modifiés. Dès qu'un champ est modifié (rs.Fields("" ).Value = x), ce type de verrouillage empêche une autre tâche d'acquérir un verrou partagé ou exclusif: l' enregistrement est verrouillé, et donc inaccessible en lecture/écriture ou en mode exclusif depuis un autre Recordset. Si un verrouillage de type pessimiste est utilisé au sein d'une transaction, le verrou est maintenu jusqu'à la fin de la transaction.
 
adLockOptimistic (=3)
 
 
Verrouillage optimiste : les enregistrements sont verrouillés le plus tard possible dans la phase de mise à jour, c'est-à-dire lorsque la méthode Update est utilisée. La méthode Update met à jour les enregistrements dans la source de données. Lors de la phase d'édition des données, les enregistrements ne sont pas verrouillés. Ce type de verrouillage est le plus fréquemment utilisé.
 
Tous les fournisseurs OLEDB ne fournissent pas forcément ce type de verrouillage. Il est cependant supporté par le fournisseur OLEDB pour SQL Server, par exemple.
 
adLockBatchOptimistic (=4)
 
 
Ce type de verrouillage est utilisable uniquement avec un curseur côté client. Il permet de faire de la mise à jour par lot. Si avec un tel recordset, la méthode Update est utilisée, seules les données se trouvant dans l'objet Recordset sont mises à jour. Les données réelles de la base de données sont mises à jour lors de l'appel à la méthode UpdateBatch. La méthode UpdateBatch est également utilisée lors de l'utilisation d'un Recordset déconnecté.


Message édité par red faction le 31-10-2005 à 18:34:13
mood
Publicité
Posté le 31-10-2005 à 17:54:46  profilanswer
 

n°1235558
red factio​n
Posté le 01-11-2005 à 11:49:56  profilanswer
 

[:yoyoz]

n°1235576
red factio​n
Posté le 01-11-2005 à 12:17:45  profilanswer
 

Personne n'a jamais fait d'ADO [:dawa] ?


Message édité par red faction le 01-11-2005 à 12:17:57
n°1235809
red factio​n
Posté le 01-11-2005 à 18:50:32  profilanswer
 

http://forum-images.hardware.fr/icones/message/icon15.gif

n°1237349
red factio​n
Posté le 03-11-2005 à 12:15:26  profilanswer
 

http://users.skynet.be/polo021/bigbrother01.gif

n°1239201
red factio​n
Posté le 05-11-2005 à 01:14:29  profilanswer
 

:o

n°1239432
red factio​n
Posté le 05-11-2005 à 19:02:43  profilanswer
 

[:red faction]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  ADO verrou sur une ligne d'une table

 

Sujets relatifs
copier une table entre 2 basestable de vérité
aligner deux images sur la meme ligne ?![ms sql server] proc pr supprimer une table dont le nom est en param
Communiquer avec une BDD en ligneSybase : Vérifier l'existence d'une table dans le tempdb
XSL-FO un caractère sur chaque nouvelle ligneModifier la nième ligne d'un fichier texte
[HTML] Largeur de cellule fixe avec retour à la ligne autoafficher la derniere entrée peu importe la table ?!
Plus de sujets relatifs à : ADO verrou sur une ligne d'une table


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR