SQLRowCount
パラメーター値の配列がステートメント実行にバインドされているときに、ステートメント実行時にパラメーター値のいずれかの行がエラー状態となると、SQLRowCount は SQL_ERROR を返します。 関数の RowCountPtr 引数からは、値が返されません。
アプリケーションは、SQL_ATTR_PARAMS_PROCESSED_PTR ステートメント属性を使用して、エラーが発生するまでに処理されたパラメーター数をキャプチャできます。
また、SQL_ATTR_PARAM_STATUS_PTR ステートメント属性を使用してバインドされた状態値の配列を使用して、問題のあるパラメーター行の配列オフセットをキャプチャできます。 アプリケーションは、状態配列をすべて確認し、実際に処理された行数を判断できます。
OUTPUT 句を付けて INSERT、UPDATE、DELETE、MERGE のいずれかの Transact-SQL ステートメントを実行した場合、SQLRowCount では、OUTPUT 句によって生成された結果セット内のすべての行が消費されるまで、影響を受けた行数が返されません。 これらの行を消費するには、SQLFetch または SQLFetchScroll を呼び出します。 SQLResultCols では、すべての結果行が消費されるまで -1 が返されます。 SQLFetch または SQLFetchScroll によって SQL_NO_DATA が返されたら、アプリケーションは、SQLMoreResults を呼び出して次の結果に移動する前に、SQLRowCount を呼び出して、影響を受けた行数を特定する必要があります。