CDaoRecordset::Delete
更新 : 2007 年 11 月
開いているテーブル タイプのレコードセット、またはダイナセット タイプのレコードセットの現在のレコードを削除します。
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