当参数值的数组绑定到语句执行时,如果任何参数值行在语句执行中生成错误条件, SQLRowCount 则返回SQL_ERROR。 不通过函数的 RowCountPtr 参数返回任何值。
应用程序可以利用 SQL_ATTR_PARAMS_PROCESSED_PTR 语句属性来捕获在发生错误之前处理的参数数。
此外,应用程序可以使用状态值的数组(通过使用 SQL_ATTR_PARAM_STATUS_PTR 语句属性绑定)来捕获有问题的参数行的数组偏移量。 应用程序可以遍历状态数组以确定处理的实际行数。
执行带有 OUTPUT 子句的 Transact-SQL INSERT、UPDATE、DELETE 或 MERGE 语句时,在使用 OUTPUT 子句生成的结果集中的所有行之前,SQLRowCount 将不会返回受影响的行计数。 若要计算这些行,请调用 SQLFetch 或 SQLFetchScroll。 SQLResultCols 将返回 -1,直到使用所有结果行。 在 SQLFetch 或 SQLFetchScroll 返回SQL_NO_DATA后,应用程序必须调用 SQLRowCount 来确定受影响的行数,然后再调用 SQLMoreResults 以移动到下一个结果。