次の方法で共有


行セットのバインドの使用 (ODBC)

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

列方向のバインドを使用するには

  1. バインドされた各列で、次の操作を行います。

    • データ値を格納するための R 個以上の列バッファーの配列を割り当てます。R は行セット内の行の数です。

    • 必要に応じて、データ長を格納するための R 個以上の列バッファーの配列を割り当てます。

    • SQLBindCol を呼び出して、列のデータ値とデータ長の配列を行セットの列にバインドします。

  2. SQLSetStmtAttr を呼び出して、次の属性を設定します。

    • SQL_ATTR_ROW_ARRAY_SIZE を、行セットの行の数 (R) に設定します。

    • SQL_ATTR_ROW_BIND_TYPE を SQL_BIND_BY_COLUMN に設定します。

    • SQL_ATTR_ROWS FETCHED_PTR 属性を、フェッチされた行の数を格納する SQLUINTEGER 変数を指すように設定します。

    • SQL_ATTR_ROW_STATUS_PTR を、行状態インジケーターを格納する SQLUSSMALLINT 変数の配列 [R] を指すように設定します。

  3. ステートメントを実行します。

  4. SQLFetch または SQLFetchScroll を呼び出すたびに R 行が取得され、バインドされた列にデータが転送されます。

行方向のバインドを使用するには

  1. 構造体の配列 [R] を割り当てます。この R は行セット内の行数です。 構造体には各列について 1 つの要素があり、各要素は 2 つの部分で構成されています。

    • 最初の部分は、列データを格納する適切なデータ型の変数です。

    • 2 つ目の部分は、列状態インジケーターを格納する SQLINTEGER 変数です。

  2. SQLSetStmtAttr を呼び出して、次の属性を設定します。

    • SQL_ATTR_ROW_ARRAY_SIZE を、行セットの行の数 (R) に設定します。

    • SQL_ATTR_ROW_BIND_TYPE を、手順 1. で割り当てた構造体のサイズに設定します。

    • SQL_ATTR_ROWS_FETCHED_PTR 属性を、フェッチされた行の数を格納する SQLUINTEGER 変数を指すように設定します。

    • SQL_ATTR_PARAMS_STATUS_PTR を、行状態インジケーターを格納する SQLUSSMALLINT 変数の配列 [R] を指すように設定します。

  3. 結果セット内の各列について、 SQLBindCol を呼び出して、手順 1 で割り当てられた構造体の配列の最初の要素の変数を、列のデータ値とデータ長ポインターをポイントします。

  4. ステートメントを実行します。

  5. SQLFetch または SQLFetchScroll を呼び出すたびに R 行が取得され、バインドされた列にデータが転送されます。

参照

カーソルを使用する方法に関するトピック (ODBC)
カーソルの実装方法
カーソルの使用 (OLE DB)