SQLRowCount

パラメーター値の配列がステートメントの実行にバインドされている場合、パラメーター値の行でステートメントの実行でエラー条件が生成された場合、 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 を呼び出して次の結果に移動する前に、影響を受ける行数を決定する必要があります。

こちらもご覧ください

SQLRowCount 関数
ODBC API 実装の詳細