Partager via


curseurs Forward-Only

Le type de curseur par défaut classique, appelé curseur vers l’avant uniquement (ou non défilement), ne peut avancer que vers l’avant via le jeu de résultats. Un curseur vers l’avant uniquement ne prend pas en charge le défilement (la possibilité d’avancer et de reculer dans le jeu de résultats) ; il prend uniquement en charge l’extraction de lignes du début à la fin du jeu de résultats. Avec certains curseurs en avant uniquement (par exemple, avec la bibliothèque de curseurs SQL Server), toutes les instructions d’insertion, de mise à jour et de suppression effectuées par l’utilisateur actuel (ou validées par d’autres utilisateurs) qui affectent les lignes du jeu de résultats sont visibles à mesure que les lignes sont extraites. Étant donné que le curseur ne peut pas être fait défiler vers l’arrière, toutefois, les modifications apportées aux lignes de la base de données après la récupération de la ligne ne sont pas visibles par le 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 vers l’avant uniquement sont dynamiques par défaut, ce qui signifie que toutes les modifications sont détectées à mesure que la ligne actuelle est traitée. Cela permet une ouverture de curseur plus rapide et permet au jeu de résultats d’afficher les mises à jour apportées aux tables sous-jacentes.

Bien que les curseurs uniquement vers l’avant ne permettent pas le défilement en arrière, votre application peut revenir au début du jeu de résultats en fermant puis rouvrant le curseur. Il s’agit d’un moyen efficace d’utiliser de petites quantités de données. En guise d’alternative, votre application peut lire le jeu de résultats une 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 le meilleur moyen de récupérer rapidement des données avec le moins de surcharge. Utilisez le adOpenForwardOnly CursorTypeEnum pour indiquer que vous souhaitez utiliser un curseur avant uniquement dans ADO.

Voir aussi

curseurs statiques
Curseurs de l'ensemble de touches
curseurs dynamiques