次の方法で共有


SQLBulkOperations による行の挿入

SQLBulkOperations を使用したデータの挿入は、バインドされたアプリケーション バッファーからのデータを使用するため、SQLBulkOperations を使用したデータの更新と似ています。

新しい行の各列に値が含まれるように、長さ/インジケーター値が SQL_COLUMN_IGNORE のすべてのバインドされた列は NULL 値を受け入れるか、既定値を持っている必要があります。

SQLBulkOperations を使用して行を挿入するために、アプリケーションは次の処理を行います。

  1. SQL_ATTR_ROW_ARRAY_SIZE ステートメント属性を挿入する行数に設定し、バインドされたアプリケーション バッファーに新しいデータ値を配置します。 SQLBulkOperations を使用して長いデータを送信する方法については、「長いデータと SQLSetPos と SQLBulkOperations」を参照してください。

  2. 必要に応じて、各列の長さ/インジケーター バッファーの値を設定します。 これは、文字列バッファーにバインドされた列のデータまたは SQL_NTS のバイト長、バイナリ バッファーにバインドされた列のデータのバイト長、および NULL に設定する列の SQL_NULL_DATA です。 アプリケーションは、既定値 (存在する場合) または NULL (存在しない場合) に設定する列の長さ/インジケーター バッファーの値を、SQL_COLUMN_IGNOREに設定します。

  3. Operation 引数を SQL_ADD に設定して SQLBulkOperations を呼び出します。

SQLBulkOperations が返された後、現在の行は変更されていません。 ブックマーク列 (列 0) がバインドされている場合、SQLBulkOperations は、その列にバインドされた行セット バッファーに挿入された行のブックマークを返します。