CDaoRecordset::Delete
開いているテーブル タイプのレコードセット、またはダイナセット タイプのレコードセットの現在のレコードを削除します。
virtual void Delete( );
解説
削除が成功すると、レコードセットのフィールド データ メンバーは Null 値に設定されます。削除したレコードから移動するには、レコードセット移動メンバー関数 (Move、Seek、SetBookmark など) の 1 つを明示的に呼び出します。 レコードセットからレコードを削除するとき、Delete を呼び出す前に、レコードセットに現在のレコードが存在している必要があります。現在のレコードがないと、MFC は例外をスローします。
Delete は現在のレコードを削除し、そのレコードにアクセスできないようにします。 削除されたレコードは編集、または使用できませんが、現在のレコードのままです。 しかし、一度別のレコードへ移動すると、削除したレコードを再び現在のレコードにはできません。
ヒント
Delete を呼び出す場合、レコードセットは更新できる状態である必要があります。さらに、レコードセットには、現在有効なレコードが必要です。 たとえば、レコードを削除しても、Delete を呼び出す前に新しいレコードにスクロールしないと、Delete は、CDaoException をスローします。
トランザクションを使用して、CDaoWorkspace::Rollback メンバー関数を呼び出すと、レコードの削除を取り消すことができます。 ベース テーブルが連鎖削除リレーションシップの主テーブルであると、現在のレコードの削除は、外部キー テーブルの 1 つ以上のレコードを削除することもあります。 詳細については、DAO ヘルプの「cascade delete」の定義を参照してください。
AddNew や Edit とは違って、Delete の呼び出しの後に、Update を呼び出す必要はありません。
関連情報については、DAO ヘルプの「AddNew Method」、「Edit Method」、「Delete Method」、「Update Method」、および「Updatable Property」を参照してください。
必要条件
**ヘッダー:**afxdao.h