Desplazamiento y recuperación de filas
Se aplica a: SQL Server Azure SQL Database Azure SQL Instancia administrada Azure Synapse Analytics Analytics Platform System (PDW)
Para utilizar un cursor desplazable, una aplicación ODBC debe:
Establezca las funcionalidades del cursor mediante SQLSetStmtAttr.
Abra el cursor mediante SQLExecute o SQLExecDirect.
Desplácese y capture filas mediante SQLFetch o SQLFetchScroll.
SQLFetch y SQLFetchSroll pueden capturar bloques de filas a la vez. El número de filas devueltas se especifica mediante SQLSetStmtAttr para establecer el parámetro SQL_ATTR_ROW_ARRAY_SIZE.
Las aplicaciones ODBC pueden usar SQLFetch para capturar a través de un cursor de solo avance.
SQLFetchScroll se usa para desplazarse alrededor de un cursor. SQLFetchScroll admite la captura de los conjuntos de filas siguientes, anteriores, primero y último, además de la captura relativa (capturar el conjunto de filas n filas desde el principio del conjunto de filas actual) y la captura absoluta (capturar el conjunto de filas a partir de la fila n). Si n es un valor negativo en una captura absoluta, las filas se cuentan desde el final del conjunto de resultados. Una captura absoluta de la fila -1 significa que se capturará el conjunto de filas que empieza con la última fila del conjunto de resultados.
Es probable que las aplicaciones que usen SQLFetchScroll solo para sus capacidades de cursor de bloque, como los informes, pasen por el conjunto de resultados una sola vez, solo con la opción para capturar el siguiente conjunto de filas. Por otro lado, las aplicaciones basadas en pantalla pueden aprovechar todas las capacidades de SQLFetchScroll. Si la aplicación establece el tamaño del conjunto de filas en el número de filas que se muestran en la pantalla y enlaza los búferes de pantalla al conjunto de resultados, puede traducir las operaciones de barra de desplazamiento directamente a llamadas a SQLFetchScroll.
Funcionamiento de la barra de desplazamiento | Opción de desplazamiento de SQLFetchScroll |
---|---|
Re Pág | SQL_FETCH_PRIOR |
Página abajo | SQL_FETCH_NEXT |
Línea arriba | SQL_FETCH_RELATIVE con FetchOffset igual a -1 |
Línea abajo | SQL_FETCH_RELATIVE con FetchOffset igual a 1 |
Cuadro de desplazamiento hacia arriba | SQL_FETCH_FIRST |
Cuadro de desplazamiento hacia abajo | SQL_FETCH_LAST |
Posición del cuadro de desplazamiento aleatoria | SQL_FETCH_ABSOLUTE |