Rs.Open SQL, Conn, A, B
UN:
Adopten forwardonly (= 0)
En lecture seule, et l'enregistrement de données actuel ne peut être déplacé que vers le bas.
Adoptenkeyset (= 1)
En lecture seule, l'enregistrement de données actuel peut être déplacé librement.
Adoptendynamique (= 2)
Lisible et écrivain, et l'enregistrement de données actuel peut être déplacé librement.
Adoptionstatic (= 3)
Il 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)
Le type de verrouillage par défaut est en lecture seule et les enregistrements ne peuvent pas être modifiés.
Adlockpessimitic (= 2)
Verrouillage pessimiste, lorsque l'enregistrement est modifié, le fournisseur de données tentera de verrouiller l'enregistrement pour assurer une modification réussie, verrouillant l'enregistrement immédiatement tant que l'édition commence.
Adlockoptimic (= 3)
Verrouillage optimiste, l'enregistrement n'est pas verrouillé jusqu'à ce que l'enregistrement mis à jour soit soumis à l'aide de la méthode de mise à jour.
AdlockBatchOptimist (= 4)
Le verrouillage optimiste par lots permet de modifier plusieurs enregistrements et les enregistrements ne sont verrouillés que lorsque la méthode de mise à jour par lots est appelée.
Lorsqu'aucune modification des enregistrements n'est requise, un ensemble d'enregistrements en lecture seule doit être utilisé afin que le fournisseur n'ait pas besoin de faire une détection. Pour une utilisation générale, le verrouillage optimiste peut être la meilleure option, car l'enregistrement n'est verrouillé que pendant une courte période, et les données sont mises à jour au cours de cette période. Cela réduit l'utilisation des ressources.
Les données du fournisseur peuvent être manipulées à l'aide de l'objet RecordSet. Lorsque vous utilisez ADO, presque toutes les données peuvent être utilisées via l'objet RecordSet. Tous les objets d'enregistrement sont construits à l'aide d'enregistrements (lignes) et de champs (colonnes). Certaines méthodes ou propriétés de records peuvent être invalides en raison de différentes fonctionnalités prises en charge par le fournisseur.
Quatre types de curseur différents sont définis dans ADO:
Curseur dynamique? Utilisé pour afficher les ajouts, les modifications et les suppressions effectués par d'autres utilisateurs, et pour utiliser divers types de mouvement dans un ensemble de disques qui ne dépend pas des signets. S'il est soutenu par le fournisseur, des signets peuvent être utilisés.
Curseur de keyset? Son comportement est similaire aux curseurs dynamiques. La seule différence est qu'il interdit à la visualisation des enregistrements ajoutés par d'autres utilisateurs et interdit l'accès aux enregistrements supprimés par d'autres utilisateurs. Les modifications de données effectuées par d'autres utilisateurs seront toujours visibles. Il prend toujours en charge les signets, permettant ainsi divers types de mouvement dans le coffre-disque.
Curseur statique? Fournit une copie statique de la collection d'enregistrements pour trouver des données ou générer des rapports. Il prend toujours en charge les signets, permettant ainsi divers types de mouvement dans le coffre-disque. Les ajouts, les modifications ou la suppression effectués par d'autres utilisateurs ne seront pas visibles. Il s'agit du seul type de curseur autorisé lors de l'ouverture d'un objet d'enregistrement client (ADOR).
Curseur vers l'avant uniquement? Le comportement est comme un curseur statique, sauf qu'il permet uniquement de faire défiler vers l'avant dans un enregistrement. Cela améliore les performances lorsque un mouvement à sens unique dans le coffre-disque est nécessaire.
Définissez la propriété CursorType pour sélectionner le type de curseur avant d'ouvrir un ensemble d'enregistrements, ou passez le paramètre CursorType à l'aide de la méthode ouverte. Certains fournisseurs ne prennent pas en charge tous les types de curseur. Veuillez vérifier la documentation du fournisseur. Si aucun type de curseur n'est spécifié, ADO s'allumera le curseur vers l'avant uniquement par défaut.
Si la propriété CursorLocation est définie sur ADUSECLIENT et que le plateau d'enregistrement est activé, la propriété sous-jacente de l'objet de champ n'est pas disponible dans l'objet RecordSet retourné. Pour certains fournisseurs, tels que le fournisseur Microsoft ODBC pour OLE DB, ainsi que Microsoft SQL Server, vous pouvez créer indépendamment un objet RecordSet basé sur l'objet de connexion précédemment défini en passant la chaîne de connexion à l'aide de la méthode ouverte. ADO crée toujours l'objet de connexion, mais il n'attribue pas l'objet à la variable d'objet. Cependant, si plusieurs objets d'enregistrement sont ouverts sur la même connexion, l'objet de connexion doit être créé et ouvert explicitement, attribuant ainsi l'objet de connexion à la variable d'objet. Si la variable d'objet n'est pas utilisée lorsque l'objet RecordSet est ouvert, ADO créera un nouvel objet de connexion pour chaque nouvel ensemble d'enregistrements même lorsque la même chaîne de connexion est passée.