Partager via


Curseurs avant uniquement

Le type de curseur par défaut classique, appelé curseur avant uniquement (ou non déroulant), ne peut qu’avancer dans le jeu de résultats. Un curseur avant uniquement ne prend pas en charge le défilement (la possibilité d’avancer et de reculer dans le jeu de résultats), mais uniquement l’extraction de lignes du début à la fin du jeu de résultats. Avec les curseurs avant uniquement (tels ceux de la bibliothèque de curseurs SQL Server), toutes les instructions insert, update et delete émises par l’utilisateur actuel ou validées par d’autres utilisateurs, qui ont une incidence sur les lignes du jeu de résultats, sont visibles au fur et à mesure de l’extraction des lignes. Cependant, étant donné que le curseur ne permet pas le défilement arrière, les modifications apportées aux lignes de la base de données après l’extraction d’une ligne ne sont pas visibles par le biais du curseur.

Une fois les données de la ligne active traitées, le curseur avant uniquement libère les ressources utilisées pour contenir ces données. Les curseurs avant uniquement sont dynamiques par défaut, ce qui signifie que toutes les modifications sont détectées lors du traitement de la ligne active. Cela accélère l’ouverture du curseur et permet au jeu de résultats d’afficher les mises à jour apportées aux tables sous-jacentes.

Bien que les curseurs avant uniquement ne prennent pas en charge le défilement vers l’arrière, votre application peut retourner au début du jeu de résultats en fermant et en rouvrant le curseur. Il s’agit d’un moyen efficace de travailler avec de petites quantités de données. En guise d’alternative, votre application pourrait lire le jeu de résultats une seule fois, mettre en cache les données localement, puis parcourir le cache de données local.

Si votre application n’a pas besoin de faire défiler le jeu de résultats, le curseur vers l’avant uniquement est la meilleure façon de récupérer rapidement des données au moindre coût. Utilisez adOpenForwardOnly CursorTypeEnum pour indiquer que vous souhaitez utiliser un curseur avant uniquement dans ADO.

Voir aussi

Curseurs statiques
Curseurs de jeu de clés
Curseurs dynamiques