Compartir a través de


cursores de Forward-Only

El tipo de cursor predeterminado típico, denominado cursor de solo avance (o no desplazable), solo puede avanzar a través del conjunto de resultados. Un cursor de solo avance no admite el desplazamiento (la capacidad de avanzar y retroceder en el conjunto de resultados); solo admite la captura de filas desde el principio hasta el final del conjunto de resultados. Con algunos cursores que solo avanzan (como con la biblioteca de cursores de SQL Server), todas las instrucciones insert, update y delete realizadas por el usuario actual (o confirmadas por otros usuarios) que afectan a las filas del conjunto de resultados son visibles a medida que se recuperan las filas. Sin embargo, dado que el cursor no se puede desplazar hacia atrás, los cambios realizados en las filas de la base de datos después de capturar la fila no son visibles a través del cursor.

Una vez procesados los datos de la fila actual, el cursor de solo avance libera los recursos que se usaron para almacenar esos datos. Los cursores de solo avance son dinámicos de forma predeterminada, lo que significa que todos los cambios se detectan a medida que se procesa la fila actual. Esto proporciona una apertura de cursor más rápida y permite que el conjunto de resultados muestre las actualizaciones realizadas en las tablas subyacentes.

Aunque los cursores de solo avance no admiten el desplazamiento hacia atrás, la aplicación puede volver al principio del conjunto de resultados cerrando y reabrindo el cursor. Se trata de una manera eficaz de trabajar con pequeñas cantidades de datos. Como alternativa, la aplicación podría leer el conjunto de resultados una vez, almacenar en caché los datos localmente y, a continuación, examinar la caché de datos local.

Si la aplicación no requiere desplazarse por el conjunto de resultados, el cursor de solo avance es la mejor manera de recuperar datos rápidamente con la menor cantidad de sobrecarga. Utilice el adOpenForwardOnly CursorTypeEnum para indicar que desea utilizar un cursor de solo avance en ADO.

Consulte también

cursores estáticos
Cursores de Conjunto de Claves
cursores dinámicos