提取的行数和状态

如果设置了 SQL_ATTR_ROWS_FETCHED_PTR 语句属性,则指定一个缓冲区,该缓冲区将返回调用 SQLFetchSQLFetchScroll 所提取的行数,以及错误行。 (此数字是不具有状态 SQL_ROW_NO_ROWS 的所有行的计数。)调用 SQLBulkOperationsSQLSetPos 后,缓冲区包含受函数执行的批量操作影响的行数。 如果设置了 SQL_ATTR_ROW_STATUS_PTR 语句属性,那么 SQLFetchSQLFetchScroll 将返回行状态数组,该数组提供每个返回行的状态。 这些字段指向的两个缓冲区都由应用程序分配,并由驱动程序填充。 应用程序必须确保这些指针在游标关闭之前保持有效。

行状态数组中的项说明每一行是否被成功提取,自上次提取以来是否被更新、添加或删除,以及在提取该行时是否发生错误。 如果 SQLFetchSQLFetchScroll 在检索一行多行行集时遇到错误,或者 Operation 参数为 SQL_FETCH_BY_BOOKMARK 的 SQLBulkOperations 在执行批量提取时遇到错误,则会将行状态数组中的相应值设置为 SQL_ROW_ERROR,然后继续提取行,并返回 SQL_SUCCESS_WITH_INFO。 有关错误处理和行状态数组的详细信息,请参阅 SQLFetchSQLFetchScroll 函数说明。