通过 API 使用块状游标
API 服务器游标并不限于每次只提取一行,它们可以一次检索到多行。当与客户端/服务器数据库(例如 MicrosoftSQL Server)一起使用时,可以更有效地一次提取多行。每次提取返回的行数称为行集大小。行集的大小大于 1 的游标称为块状游标。在所支持的 API 中,可以用下列方法使用块状游标:
ODBC
将 SQL_ATTR_ROWSET_SIZE 语句属性设置为行集的大小。
使用列式或行式绑定将列绑定到变量数组,以保存返回行中的数据。每个数组的元素数目等于行集的大小。
对 SQLFetchScroll 的每次调用都将提取通过 SQL_ATTR_ROWSET_SIZE 设置的行数。
OLE DB
分配一个行句柄数组,并将每个句柄所代表的列绑定到变量数组以保存列数据。
调用 IRowset::GetNextRows,其中 cRows 参数设置为行句柄数组中的句柄数,以及 prghRows 参数中的行句柄数组的地址。
ADO
定义一个变量,为要检索的行数保存数据。
根据需要,可使用记录集方法 Move、MoveFirst、MoveLast、MoveNext 和 MovePrevious 定位游标中的适当位置。
调用记录集方法 GetRows,其中 array 参数保存用于保存行的变量的地址,而 Crows 参数保存要返回的行数。根据需要,可以选择使用 Start 参数指示在记录集中的提取位置。