レコードセット : レコードを大量に追加する方法 (ODBC)
更新 : 2007 年 11 月
このトピックの内容は、MFC ODBC クラスに該当します。
MFC CRecordset クラスには最適化機能が組み込まれているため、大量の新しいレコードを効率的にテーブルに追加できます。
メモ : |
---|
このトピックの内容は、バルク行フェッチが実装されていない CRecordset の派生オブジェクトを対象にしています。バルク行フェッチを使用する場合は、「レコードセット : バルク行フェッチ (ODBC)」を参照してください。 |
CRecordset::Open メンバ関数の dwOptions パラメータには、新しいオプションとして optimizeBulkAdd があります。このオプションを使うと、Requery や Close を呼び出さずに、複数のレコードを連続して効率的に追加できます。最初の Update 呼び出しの前からダーティなフィールドだけが、以降の AddNew または Update の呼び出しでもダーティとしてマークされます。
レコードを追加、編集、削除するときに、データベース クラスを通じて ODBC API 関数 ::SQLSetPos を使う場合は、この最適化処理は不要です。
ODBC カーソル ライブラリを読み込んでいる場合、または ODBC ドライバが ::SQLSetPos による追加、編集、および削除をサポートしていない場合は、この最適化処理によって大量のレコードを効率的に追加できます。この最適化処理を有効にするには、レコードセットの Open 呼び出しの dwOptions パラメータを次のように設定します。
appendOnly | optimizeBulkAdd