通过 API 使用块状游标

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

  • ODBC

    • 将 SQL_ATTR_ROWSET_SIZE 语句属性设置为行集的大小。

    • 使用列式或行式绑定将列绑定到变量数组,以保存返回行中的数据。每个数组的元素数目等于行集的大小。

    • SQLFetchScroll 的每次调用都将提取通过 SQL_ATTR_ROWSET_SIZE 设置的行数。

  • OLE DB

    • 分配一个行句柄数组,并将每个句柄所代表的列绑定到变量数组以保存列数据。

    • 调用 IRowset::GetNextRows,其中 cRows 参数设置为行句柄数组中的句柄数,以及 prghRows 参数中的行句柄数组的地址。

  • ADO

    • 定义一个变量,为要检索的行数保存数据。

    • 根据需要,可使用记录集方法 MoveMoveFirstMoveLastMoveNextMovePrevious 定位游标中的适当位置。

    • 调用记录集方法 GetRows,其中 array 参数保存用于保存行的变量的地址,而 Crows 参数保存要返回的行数。根据需要,可以选择使用 Start 参数指示在记录集中的提取位置。