滚动和提取行
适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)
若要使用可滚动游标,ODBC 应用程序必须:
使用 SQLSetStmtAttr 设置游标功能。
使用 SQLExecute 或 SQLExecDirect 打开游标。
使用 SQLFetch 或 SQLFetchScroll 滚动和提取行。
SQLFetch 和 SQLFetchSroll 都可以一次提取行块。 通过使用 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 |
本节内容
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈