SQLNumResultCols
SQL Server Native Client ODBC ドライバでは、実行済みのステートメントについては、サーバーにアクセスして結果セットの列数を示すことはありません。この場合、SQLNumResultCols を呼び出しても、サーバーとのやり取りは行われません。SQLDescribeCol や SQLColAttribute と同様に、準備されていても実行されていないステートメントで SQLNumResultCols を呼び出すと、サーバーとのやり取りが行われます。
Transact-SQL ステートメントまたはステートメント バッチが複数の結果行セットを返すときは、結果セットの列数を報告する場合、あるセットから別のセットへ結果セットを変更することができます。SQLNumResultCols は、セットごとに呼び出す必要があります。列数が変化すると、アプリケーションでは行の結果をフェッチする前に、データ値を再バインドする必要があります。複数の結果セットを返す処理の詳細については、「SQLMoreResults」を参照してください。