滚动和提取行

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)

若要使用可滚动游标,ODBC 应用程序必须:

  • 使用 SQLSetStmtAttr 设置游标功能。

  • 使用 SQLExecuteSQLExecDirect 打开游标。

  • 使用 SQLFetchSQLFetchScroll 滚动和提取行。

SQLFetchSQLFetchSroll 都可以一次提取行块。 通过使用 SQLSetStmtAttr 设置 SQL_ATTR_ROW_ARRAY_SIZE 参数来指定返回的行数。

ODBC 应用程序可以使用 SQLFetch 通过仅向前游标进行提取。

SQLFetchScroll 用于在游标周围滚动。 SQLFetchScroll 支持提取下一个、上一个、第一个和最后一个行集,除了相对提取 (从当前行集) 的开头提取行集 n 行集,绝对提取 (提取从第 n 行) 开始的行集。 如果在绝对提取中 n 为负数,则从结果集的末尾对行进行计数。 绝对提取行 -1 表示提取从结果集中最后一行开始的行集。

仅将 SQLFetchScroll 用于其块游标功能的应用程序(例如报表)可能会一次通过结果集传递,仅使用提取下一行集的选项。 另一方面,基于屏幕的应用程序可以利用 SQLFetchScroll 的所有功能。 如果应用程序将行集大小设置为屏幕上显示的行数,并将屏幕缓冲区绑定到结果集,则它可以将滚动条操作直接转换为对 SQLFetchScroll 的调用。

滚动条操作 SQLFetchScroll 滚动选项
向上翻页 SQL_FETCH_PRIOR
向下翻页 SQL_FETCH_NEXT
向上移动一行 FetchOffset 等于 -1 的SQL_FETCH_RELATIVE
向下移动一行 SQL_FETCH_RELATIVE,FetchOffset 等于 1
滚动框移到顶部 SQL_FETCH_FIRST
滚动框移到底部 SQL_FETCH_LAST
滚动框位于随机位置 SQL_FETCH_ABSOLUTE

本节内容

另请参阅

使用游标 (ODBC)