次の方法で共有


CDaoRecordset::Delete

開いているテーブル タイプのレコードセット、またはダイナセット タイプのレコードセットの現在のレコードを削除します。

virtual void Delete( );

解説

削除が成功すると、レコードセットのフィールド データ メンバーは Null 値に設定されます。削除したレコードから移動するには、レコードセット移動メンバー関数 (MoveSeekSetBookmark など) の 1 つを明示的に呼び出します。 レコードセットからレコードを削除するとき、Delete を呼び出す前に、レコードセットに現在のレコードが存在している必要があります。現在のレコードがないと、MFC は例外をスローします。

Delete は現在のレコードを削除し、そのレコードにアクセスできないようにします。 削除されたレコードは編集、または使用できませんが、現在のレコードのままです。 しかし、一度別のレコードへ移動すると、削除したレコードを再び現在のレコードにはできません。

ヒント

Delete を呼び出す場合、レコードセットは更新できる状態である必要があります。さらに、レコードセットには、現在有効なレコードが必要です。 たとえば、レコードを削除しても、Delete を呼び出す前に新しいレコードにスクロールしないと、Delete は、CDaoException をスローします。

トランザクションを使用して、CDaoWorkspace::Rollback メンバー関数を呼び出すと、レコードの削除を取り消すことができます。 ベース テーブルが連鎖削除リレーションシップの主テーブルであると、現在のレコードの削除は、外部キー テーブルの 1 つ以上のレコードを削除することもあります。 詳細については、DAO ヘルプの「cascade delete」の定義を参照してください。

AddNewEdit とは違って、Delete の呼び出しの後に、Update を呼び出す必要はありません。

関連情報については、DAO ヘルプの「AddNew Method」、「Edit Method」、「Delete Method」、「Update Method」、および「Updatable Property」を参照してください。

必要条件

**ヘッダー:**afxdao.h

参照

参照

CDaoRecordset クラス

階層図

CDaoRecordset::AddNew

CDaoRecordset::CancelUpdate

CDaoRecordset::Edit

CDaoRecordset::Update

CDaoRecordset::CanTransact

その他の技術情報

CDaoRecordset のメンバー