CDaoRecordset::Edit

仮想 void 編集 ();
throw (CDaoException, CMemoryException);

解説

現在のレコードへの変更を許可するにはこのメンバー関数を呼び出す。

編集メンバー関数を呼び出すと、現在のレコードのフィールドに加えられた変更をコピー バッファーにコピーされます。レコードに必要な変更を加えた後、変更を保存するには、更新プログラムを呼び出します。編集レコード セットのデータ メンバーの値を保存します。編集を呼び出し、変更を行い、編集を再度呼び出す場合は、レコードの値が編集の最初の呼び出し前にだったものに復元します。

注意特価;レコードを編集し、最初の呼び出し元更新に別のレコードに移動操作を実行する場合は、変更は警告なしに失われます。さらに、編集されたレコード、recordset または親のデータベースを閉じる場合は、警告なしは破棄されます。(&N)。

いくつかのケースでは、それ (データを含まない)、Null にすることによって、列を更新することがあります。これを行うには、Null フィールドをマークするのパラメーターとSetFieldNullを呼び出して;これも更新する列が発生します。にもかかわらず、その値が変更されていないデータ ソースに書き込まれるフィールド場合は、のパラメーターでSetFieldDirtyを呼び出します。フィールドの値がある Null 場合でもこの作品します。

フレームワークは、データ ソース上のレコードに、DAO レコード フィールド エクス (チェンジ DFX) 機構によって書き込まれるように、フィールド データ メンバーを変更しました。一般的に、フィールドの値を変更、フィールド ダーティ自動的に、あなたはほとんど自分でSetFieldDirtyを呼び出す必要がありますが、ある列が明示的に更新または値フィールド データ メンバーであるかにかかわらず挿入されたことを確認する場合がありますよう設定します。DFX 機構はまた擬似 NULLの使用を採用します。詳細についてを参照してくださいCDaoFieldExchange::m_nOperation

ダブル バッファリング機構が使用されていない場合は、[フィールドの値を変更する自動的に、フィールド ダーティとして設定されません。この場合、明示的に設定するとダーティのフィールド必要があります。この自動フィールド チェック フラグm_bCheckCacheForDirtyFieldsコントロールに含まれています。

レコード セット オブジェクトは、悲観的、マルチ ユーザー環境でロックされている場合は、更新が完了するまで、時間から編集をロック レコードのままです使用します。レコード セットが楽観的ロックされている場合は、レコード ロックし、だけは、データベースで更新される前に加えますを持つレコードを比較します。編集と呼ばれるので、レコードが変更されている場合は、更新操作は失敗し、MFC は例外をスローします。SetLockingModeのロック モードを変更することができます。

特価;オプティミスティック ロックは常に ODBC やインストールできる ISAM など、外部データベース形式で使用されます。(&N)。

現在のレコード編集を呼び出して現在のままです。編集を呼び出すには、現在のレコードする必要があります。現在のレコードがない場合、またはレコード セット、テーブル タイプまたはダイナセット タイプのレコード セット オブジェクトを参照しない場合は、例外が発生します。編集を呼び出す、次の条件の下でスローされる、 CDaoExceptionが発生します。:

データ ソースがトランザクションをサポートしている場合は、トランザクションの一部を呼び出し、編集をすることができます。編集を呼び出す前に、レコード セットが開かれた後CDaoWorkspace::BeginTransを呼び出す必要がありますに注意してください。また、 CDaoWorkspace::CommitTransの呼び出しは、編集操作を完了するには、更新を呼び出すの代わりではないにも注意してください。トランザクションの詳細についてを参照してくださいクラスCDaoWorkspace

データ更新の詳細については、資料を参照してください DAO レコード セット: レコード セットの操作 Visual の C++ プログラマのガイド。関連情報については、「AddNew メソッド」、「編集法」、」削除する方法」、「Update メソッド」、DAO ヘルプの「更新可能なプロパティ」のトピックを参照してください。

CDaoRecordset の概要|nbsp;クラス メンバー |階層図(&N)

参照特価;CDaoRecordset::AddNewCDaoRecordset::CancelUpdateCDaoRecordset::CanTransactCDaoRecordset::DeleteCDaoRecordset::Update(&N)

Index