Sdílet prostřednictvím


CRecordset::Update

Dokončení AddNew nebo Upravit operaci uložení dat nové nebo upravené na zdroji dat.

virtual BOOL Update( );

Vrácená hodnota

Nenulová hodnota, pokud jeden záznam byl úspěšně aktualizován; jinak 0, pokud byly změněny žádné sloupce.Pokud byly aktualizovány žádné záznamy, nebo pokud více než jeden záznam byl aktualizován, je k vyvolání výjimky.Je také vyvolání výjimky pro jiné selhání na zdroji dat.

Poznámky

Volání funkce člena po volání AddNew nebo Upravit členské funkce.Toto volání je nutné k dokončení AddNew nebo Upravit operace.

[!POZNÁMKA]

Pokud provádění hromadných řádek načítání nelze volat aktualizace.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).

I AddNew a Upravit připravit vyrovnávací paměti upravit, ve kterém je umístěn přidané nebo upravená data pro ukládání do zdroje dat.Aktualizace uloží data.Pouze pole označené nebo zjištěny změny jsou aktualizovány.

Pokud zdroj dat podporuje transakce, aby aktualizace volání (a jeho odpovídající AddNew nebo Upravit volání) část transakce.Další informace o transakcích naleznete v článku Transakce (ODBC).

Poznámka k upozorněníUpozornění

Při volání aktualizace bez první volání buď AddNew nebo Upravit, aktualizace vyvolá CDBException .Při volání AddNew nebo Upravit, musíte zavolat aktualizace než zavoláte přesunout operace nebo před ukončením připojení zdroje dat nebo záznamů.Jinak vaše změny budou ztraceny, bez oznámení.

Podrobnosti o zpracování aktualizace selhání, naleznete v článku záznamů: jak sady záznamů aktualizace záznamů (ODBC).

Výjimky

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

Příklad

Naleznete v článku transakce: provedení transakce v sady záznamů (ODBC).

Požadavky

Záhlaví: afxdb.h

Viz také

Referenční dokumentace

Třída CRecordset

Graf hierarchie

CRecordset::Edit

CRecordset::AddNew

CRecordset::SetFieldDirty

Třída CDBException