ステップ 4a: 結果のフェッチ

次の手順は、次の図に示すように、結果をフェッチします。

ODBC アプリケーションでの結果のフェッチを示す

「手順 3: SQL ステートメントのビルドと実行」で実行したステートメントが SELECT ステートメントまたはカタログ関数である場合、アプリケーションは最初に SQLNumResultCols を呼び出して、結果セット内の列数を決定します。 SQL ステートメントが垂直アプリケーションまたはカスタム アプリケーションでハードコーディングされている場合など、アプリケーションが結果セット列の数を既に認識している場合は、この手順は必要ありません。

次に、SQLDescribeCol を使用して、各結果セット列の名前、データ型、有効桁数、および小数点以下桁数を取得します。 ここでも、この情報が既に登録されている垂直アプリケーションやカスタム アプリケーションなどのアプリケーションでは、これは必要ありません。 アプリケーションはこの情報を SQLBindCol に渡します。これにより、アプリケーション変数が結果セット内の列にバインドされます。

これで、アプリケーションは SQLFetch を呼び出してデータの最初の行を取得し、その行から SQLBindCol にバインドされた変数にデータを配置します。 行に長いデータがある場合は、SQLGetData を呼び出してそのデータを取得します。 アプリケーションは引き続き SQLFetchSQLGetData を呼び出して、追加のデータを取得します。 データのフェッチが完了したら、SQLCloseCursor を呼び出してカーソルを閉じます。

結果の取得の詳細については、「結果の取得 (基本)」および「結果の取得 (詳細)」を参照してください。

アプリケーションが "手順 3: SQL ステートメントのビルドと実行" に戻り、同じトランザクションで別のステートメントを実行するようになりました。または、「手順 5: トランザクションをコミットする」に進み、トランザクションをコミットまたはロールバックします。