このトピックの内容は、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