La syntaxe de Rs.Open est la suivante : rs.Open Source, ActiveConnection, CursorType, LockType Source est l'instruction SQL, ActiveConnection est la connexion à la base de données, CursorType est le curseur et LockType est le type de verrouillage des données.
Je développe souvent asp mais je ne suis pas sûr des détails. Voici une brève introduction.
Normalement
Pour lire les données, utilisez rs.open sql,conn,1,1
Modifier les données : rs.open sql,conn,1,3
Supprimer les données : utilisez directement conn.execute("delete * from new Where id=1").
La syntaxe de Rs.Open est la suivante : rs.Open Source,ActiveConnection,CursorType,LockType
Source est l'instruction SQL, ActiveConnection est la connexion à la base de données, CursorType est le curseur et LockType est le type de verrouillage des données.
Type de curseur
Description constante
adOpenForwardOnly(value 0) (valeur par défaut) ouvre un curseur avant uniquement.
adOpenKeyset (valeur 1) ouvre un curseur de type keyset.
adOpenDynamic (valeur 2) ouvre un curseur de type dynamique.
adOpenStatic (valeur 3) ouvre un curseur de type statique.
Type de verrouillage
Description constante
adLockReadOnly (valeur 1) (par défaut) Lecture seule : les données ne peuvent pas être modifiées.
adLockPessimistic (valeur 2) Verrouillage conservateur (un par un) — Le fournisseur effectue le travail requis pour garantir la réussite de la modification des enregistrements, généralement en verrouillant les enregistrements de la source de données immédiatement après la modification.
adLockOptimistic (valeur 3) Verrouillage ouvert (un par un) : le fournisseur utilise le verrouillage ouvert et verrouille les enregistrements uniquement lorsque la méthode Update est appelée.
adLockBatchOptimistic (valeur 4) Mise à jour par lots ouverte - utilisée en mode de mise à jour par lots (par opposition au mode de mise à jour immédiate).
Type de curseur
0 Curseur avant uniquement, peut uniquement parcourir les enregistrements vers l'avant, ne prend pas en charge la pagination, Recordset, BookMark
1 curseur de jeu de touches, les modifications apportées par d'autres utilisateurs aux enregistrements seront reflétées dans le jeu d'enregistrements, mais les enregistrements ajoutés ou supprimés par d'autres utilisateurs ne seront pas reflétés dans le jeu d'enregistrements. Pagination de support, Recordset, BookMark
2 Les curseurs dynamiques ont les fonctions les plus puissantes, mais consomment également le plus de ressources. Les modifications apportées par les utilisateurs aux enregistrements, l'ajout ou la suppression d'enregistrements seront reflétés dans l'ensemble d'enregistrements. Prend en charge la navigation complète.
3. Un curseur statique n'est qu'un instantané des données. Les modifications apportées par l'utilisateur aux enregistrements, l'ajout ou la suppression d'enregistrements ne seront pas reflétés dans le jeu d'enregistrements. Permet d'avancer ou de reculer
Type de verrouillage
LockType est le type de verrouillage du jeu d'enregistrements et sa valeur est :
1 Type de verrouillage, par défaut, en lecture seule, aucune modification ne peut être apportée
2 Verrouillez les enregistrements immédiatement lors de l'édition, le moyen le plus sûr
3 Le jeu d'enregistrements est verrouillé uniquement lorsque la méthode Update est appelée et d'autres opérations précédentes peuvent toujours modifier, insérer et supprimer l'enregistrement actuel.
4 Les enregistrements ne sont pas verrouillés lors de l'édition, ainsi que des modifications, insertions et suppressions
rs.open sql, conn, 3,2
Ces deux sont des curseurs, leurs fonctions spécifiques sont :
RS.OPEN SQL,CONN,A,B
UN:
ADOPENFORWARDONLY(=0)
En lecture seule et l'enregistrement de données actuel ne peut être déplacé que vers le bas
ADOPENKEYSET(=1)
En lecture seule, l'enregistrement de données actuel peut être déplacé librement
ADOPENDYNAMIQUE(=2)
Lisible et inscriptible, l'enregistrement de données actuel peut être déplacé librement
ADOPENSTATIQUE(=3)
Lisible et inscriptible, les enregistrements de données actuels peuvent être déplacés librement, les nouveaux enregistrements peuvent être vus
B :
ADLOCKREADONLY(=1)
Le type de verrouillage par défaut est que le jeu d'enregistrements est en lecture seule et que les enregistrements ne peuvent pas être modifiés.
ADLOCKPESSIMISTIQUE(=2)
Verrouillage pessimiste, lorsqu'un enregistrement est modifié, le fournisseur de données tentera de verrouiller l'enregistrement pour garantir que l'enregistrement est modifié avec succès. Dès que le montage commence, l'enregistrement est verrouillé.
ADLOCKOPTIMISTIQUE(=3)
Le verrouillage optimiste ne verrouille pas l'enregistrement tant que l'enregistrement mis à jour n'est pas soumis à l'aide de la méthode Update.
ADLOCKBATCHOPTIMISTIQUE(=4)
Le verrouillage optimiste par lots permet de modifier plusieurs enregistrements, et les enregistrements ne sont verrouillés qu'après l'appel de la méthode UpdateBatch.
Lorsqu'aucun enregistrement ne doit être modifié, un jeu d'enregistrements en lecture seule doit être utilisé afin que le fournisseur n'ait pas besoin d'effectuer de détection.
Pour une utilisation générale, le verrouillage optimiste est probablement la meilleure option, car les enregistrements ne sont verrouillés que pendant une courte période.
Les données sont mises à jour pendant cette période. Cela réduit l’utilisation des ressources.
Pour résumer :
sql,conn,1,1 signifie qu'aucune mise à jour n'est autorisée et est généralement utilisée pour les opérations de requête.
sql,conn,1,3 signifie que les mises à jour sont autorisées et sont généralement utilisées pour les opérations d'insertion, de mise à jour et de suppression.