SQLGetStmtAttr
SQL Server Native Client ODBC ドライバーでは、SQLGetStmtAttr を拡張して、ドライバー固有のステートメント属性を公開します。
「SQLSetStmtAttr」では、読み取りと書き込みの両方のステートメント属性を示しています。ここでは、読み取り専用のステートメント属性のみを示します。
SQL_SOPT_SS_CURRENT_COMMAND
コマンド バッチの現在のコマンドを公開します。バッチ内のコマンドの位置を表す整数を返します。ValuePtr 値のデータ型は SQLLEN です。
SQL_SOPT_SS_NOCOUNT_STATUS
NOCOUNT オプションの現在の設定を示します。NOCOUNT オプションは、SQLRowCount が呼び出されたときに、SQL Server がステートメントで処理された行数を報告するかどうかを制御します。ValuePtr 値のデータ型は SQLLEN です。
値 |
説明 |
---|---|
SQL_NC_OFF |
NOCOUNT を OFF にします。SQLRowCount は処理された行数を返します。 |
SQL_NC_ON |
NOCOUNT を ON にします。SQLRowCount は処理された行数を返しません。戻り値は 0 です。 |
SQLRowCount から 0 が返される場合は、アプリケーションで SQL_SOPT_SS_NOCOUNT_STATUS を確認する必要があります。SQL_NC_ON が返される場合、SQLRowCount から返される値が 0 であると、SQL Server から行数が返されなかったことを示します。SQL_NC_OFF が返される場合、NOCOUNT が無効になっており、SQLRowCount から返される値が 0 であると、ステートメントで処理された行がなかったことを示します。
SQL_SOPT_SS_NOCOUNT_STATUS が SQL_NC_OFF のときは、アプリケーションでは、SQLRowCount の値を表示しないでください。大きなバッチやストアド プロシージャには、複数の SET NOCOUNT ステートメントが含まれていることがあるので、SQL_SOPT_SS_NOCOUNT_STATUS が一定であると想定することはできません。SQLRowCount から 0 が返されるたびに、このオプションを確認する必要があります。
SQL_SOPT_SS_QUERYNOTIFICATION_MSGTEXT
クエリ通知要求のメッセージ テキストを返します。
SQLGetStmtAttr とテーブル値パラメーター
テーブル値パラメーターを使用する場合、SQLGetStmtAttr を呼び出すと、アプリケーション パラメーター記述子 (APD) の SQL_SOPT_SS_PARAM_FOCUS の値を取得できます。SQL_SOPT_SS_PARAM_FOCUS の詳細については、「SQLSetStmtAttr」を参照してください。
テーブル値パラメーターの詳細については、「テーブル値パラメータ (ODBC)」を参照してください。