Sdílet prostřednictvím


CRecordset::Delete

 

Odstraní aktuální záznam.

Syntaxe

virtual void Delete( );

Poznámky

Po úspěšné odstranění členů sadě záznamů pole dat nastavena na hodnotu Null a musíte explicitně volat z přesunout funkce opustit odstraněný záznam.  Jakmile přesunete mimo odstraněným záznamem, není možné vrátit se k němu.  Pokud zdroj dat podporuje transakce, aby Odstranit volání v rámci transakce.  Další informace naleznete v článku Transakce (ODBC).  

Poznámka

Pokud provádění hromadných řádek načítání nelze volat Odstranit.  To způsobí selhání výrazu.  Přestože třídy CRecordset neposkytuje mechanismus pro aktualizaci řádků hromadných dat, můžete napsat vlastní funkce pomocí funkce rozhraní API ODBC SQLSetPos.  Další informace o načítání řádků hromadného naleznete v článku záznamů: načítání záznamů hromadné (ODBC).  

Upozornění

Musí být možné aktualizovat sadu záznamů a musí být platný záznam v sadě záznamů při volání Odstranit; v opačném případě dojde k chybě.  Například odstranit záznam, ale neposouvají nový záznam před volání Odstranit , Odstranit vyvolá CDBException.  

Na rozdíl od AddNew a Upravit, volání Odstranit není následována volání aktualizace.  Pokud Odstranit volání selže, data pole členy jsou ponechány beze změny.  

Výjimky

Exception

Condition

Tuto metodu lze vyvolávají výjimky typu CDBException *.

Příklad

Tento příklad ukazuje sadu záznamů vytvořené v rámci funkce.  Příklad předpokládá existenci m_dbCust , členské proměnné typu CDatabase již připojen ke zdroji dat.  

// Create a derived CRecordset object
CCustomer rsCustSet(&m_dbCust);
rsCustSet.Open();

if(rsCustSet.IsEOF() || !rsCustSet.CanUpdate() ||
   !rsCustSet.CanTransact())
{
   return;
}

m_dbCust.BeginTrans();

// Perhaps scroll to a new record...
// Delete the current record
rsCustSet.Delete();

// Finished commands for this transaction
if(IDYES == AfxMessageBox(_T("Commit transaction?"), MB_YESNO))
   m_dbCust.CommitTrans();
else // User changed mind
   m_dbCust.Rollback();

Požadavky

Záhlaví: afxdb.h

Viz také

Třída CRecordset
Graf hierarchie
CDatabase::BeginTrans
CDatabase::CommitTrans
CDatabase::Rollback
Třída CDBException