通过 API 使用块状游标

API 服务器游标并不限于每次只提取一行,它们可以一次检索到多行。当与客户端/服务器数据库(例如 Microsoft SQL Server 2005)一起使用时,可以更有效地一次提取多行。每次提取返回的行数称为行集大小。行集的大小大于 1 的游标称为块状游标。在所支持的 API 中,可以用下列方法使用块状游标:

  • ODBC
    • 将 SQL_ATTR_ROWSET_SIZE 语句属性设置为行集的大小。
    • 使用列式或行式绑定将列绑定到变量数组,以保存返回行中的数据。每个数组的元素数目等于行集的大小。
    • SQLFetchScroll 的每次调用都将提取通过 SQL_ATTR_ROWSET_SIZE 设置的行数。
  • OLE DB
    • 分配一个行句柄数组,并将每个句柄所代表的列绑定到变量数组以保存列数据。
    • 调用 IRowset::GetNextRows,并将 cRows 参数设置为行句柄数组中的句柄数和 prghRows 参数中的行句柄数组的地址。
  • ADO
    • 定义一个变量,为要检索的行数保存数据。
    • 根据需要,可使用记录集方法 MoveMoveFirstMoveLastMoveNextMovePrevious 定位游标中的适当位置。
    • 调用记录集方法 GetRows,其中 array 参数保存用于保存行的变量的地址,而 Crows 参数保存要返回的行数。根据需要,可使用 Start 参数表示在记录集中的提取位置。

请参阅

其他资源

Rowsets and SQL Server Cursors
Cursor Rowset Size

帮助和信息

获取 SQL Server 2005 帮助