Cet article présente principalement l'explication détaillée des paramètres de la méthode adodb.recordset.open(rs.open). Les amis dans le besoin peuvent s'y référer.
Objet Recordset ADO
L'objet ADO Recordset est utilisé pour contenir un jeu d'enregistrements à partir d'une table de base de données. Un objet Recordset se compose d'enregistrements et de colonnes (champs).
Dans ADO, cet objet est l’objet le plus important et le plus couramment utilisé pour opérer sur les données de la base de données.
ID de programme
définir objRecordset=Server.CreateObject(ADODB.recordset)
Lorsque vous ouvrez un Recordset pour la première fois, le pointeur d'enregistrement actuel pointe vers le premier enregistrement et les propriétés BOF et EOF seront False. S'il n'y a aucun enregistrement, les propriétés BOF et EOF sont True.
Les objets Recordset peuvent prendre en charge deux types de mises à jour :
Mise à jour immédiate - Une fois la méthode Update appelée, toutes les modifications sont immédiatement écrites dans la base de données. Mise à jour par lots : le fournisseur mettra en cache plusieurs modifications, puis transférera ces modifications vers la base de données à l'aide de la méthode UpdateBatch.
Dans ADO, 4 types de curseur (pointeur) différents sont définis :
• Curseurs dynamiques - Vous permet d'afficher les ajouts, modifications et suppressions effectués par d'autres utilisateurs.
•Curseur Keyset - Semblable à un curseur dynamique, sauf que vous ne pouvez pas voir les ajouts effectués par d'autres utilisateurs et qu'il vous empêche d'accéder aux enregistrements qui ont été supprimés par d'autres utilisateurs. Les modifications de données apportées par d'autres utilisateurs sont toujours visibles.
• Curseur statique - Fournit une copie statique d'un jeu d'enregistrements qui peut être utilisée pour rechercher des données ou générer des rapports. De plus, les ajouts, modifications et suppressions effectués par d’autres utilisateurs ne seront pas visibles. Il s’agit du seul type de curseur autorisé lorsque vous ouvrez un objet Recordset client.
• Curseur avant uniquement - permet uniquement le défilement vers l'avant dans le jeu d'enregistrements. De plus, les ajouts, modifications et suppressions effectués par d’autres utilisateurs ne seront pas visibles.
Le type de curseur peut être défini via la propriété CursorType ou le paramètre CursorType dans la méthode Open.
Remarque : Tous les fournisseurs ne prennent pas en charge toutes les méthodes et propriétés de l'objet Recordset.
Les amis qui souhaitent en savoir plus sur les objets ADO Recordset peuvent accéder ici pour afficher plus de contenu.
S'il s'agit simplement de lecture et n'implique pas d'opérations de mise à jour, utilisez 1, 1
S'il s'agit d'opérations de lecture et de mise à jour, vous pouvez utiliser 1,3 ou 3,2
Prototype de méthode ouverte de l'objet Recordset :
Ouvrir([Source],[ActiveConnection],[CursorType],[LockType],[Options])
CursorType Type de curseur :
Const adOpenForwardOnly = 0
Le curseur avant est le curseur par défaut et offre les performances d'exécution les plus rapides. Utilisez-le pour ouvrir le jeu d'enregistrements et obtenir tous les résultats dans l'ordre de la paire à la fin. Il ne prend pas en charge le défilement vers l’arrière et permet uniquement un mouvement unidirectionnel entre les résultats.
Const adOpenKeyset = 1
Un curseur statique reflète l'état des données dans la table lors de sa première ouverture. Le curseur ne peut pas savoir si les lignes de données de la table sous-jacente ont été mises à jour, supprimées ou si de nouvelles données ont été ajoutées. Cependant, contrairement aux curseurs de continent, qui ne peuvent qu'avancer, les curseurs statiques peuvent faire défiler les résultats vers l'avant et vers l'arrière.
Const adOpenDynamic = 2
Les curseurs pilotés par le clavier peuvent interroger certaines modifications, mais pas toutes, dans les lignes de données sous-jacentes d'une table. En particulier, il indique avec précision si les données ont été mises à jour. Mais il ne peut pas savoir si d'autres utilisateurs ont supprimé des lignes de données (les lignes de données supprimées laisseront des trous dans le jeu d'enregistrements). Les curseurs pilotés par le clavier prennent en charge le défilement avant et arrière des résultats.
Const adOpenStatic = 3
Les curseurs dynamiques sont le type de curseur le plus riche. Lorsque le curseur est ouvert, vous pouvez interroger toutes les modifications apportées au tableau par d'autres utilisateurs et prendre en charge le défilement.
Type de verrouillageType de verrouillage :
Const adLockReadOnly = 1
Le type de verrouillage par défaut, le verrouillage en lecture seule, permet à plusieurs utilisateurs de lire les mêmes données en même temps, mais ne peut pas modifier les données.
Const adLockPessimiste = 2
Ouvrez l'objet de données avec un verrouillage pessimiste. Cette approche suppose que d'autres utilisateurs auront accès aux données pendant que vous modifiez l'enregistrement. À ce stade, une fois que vous commencez à modifier un enregistrement, les autres utilisateurs ne peuvent pas accéder aux données.
Const adLockOptimiste = 3
Ouvrez l'objet de données à l'aide du verrouillage optimiste. Cette approche suppose qu'aucun autre utilisateur n'accédera aux données pendant que vous modifiez l'enregistrement. Les autres utilisateurs ne peuvent pas accéder à l'enregistrement jusqu'à ce que des modifications soient apportées.
Const adLockBatchOptimistic = 4
Utilisez ce type lors de l'exécution de mises à jour par lots sur plusieurs lignes
Paramètres des options :
Le paramètre Options indique le type de chaîne de commande utilisée pour ouvrir le jeu d'enregistrements. Dire à ADO des informations sur le contenu de la chaîne en cours d'exécution permet d'exécuter efficacement la chaîne de commande.
adCMDTable. La chaîne en cours d'exécution contient le nom d'une table.
adCMDText. La chaîne en cours d'exécution contient un texte de commande.
adCMDStoredProc. La chaîne en cours d'exécution contient un nom de procédure stockée.
adCMDUInconnu. Le contenu de la chaîne n'est pas spécifié. (Il s'agit de la valeur par défaut.)
Pour faire simple :
RS.OPEN SQL,CONN,A,B
A : ADOPENFORWARDONLY (=0) est en lecture seule et l'enregistrement de données actuel ne peut être déplacé que vers le bas.
ADOPENSTATIC (=3) en lecture seule, l'enregistrement de données actuel peut être déplacé librement
ADOPENKEYSET(=1) peut être lu et écrit, et l'enregistrement de données actuel peut être déplacé librement
ADOPENDYNAMIQUE (= 2) peut être lu et écrit, l'enregistrement de données actuel peut être déplacé librement et de nouveaux enregistrements peuvent être vus
B : ADLOCKREADONLY(=1) valeur par défaut, utilisée pour ouvrir les enregistrements en lecture seule
ADLOCKPESSIMISTIC(=2) verrouillage pessimiste
ADLOCKOPTIMISTIC(=3) verrouillage optimiste
ADLOCKBATCHOPTIMISTIC(=4) verrouillage optimiste par lots