Sdílet prostřednictvím


CRecordset::AddNew

 

Připraví pro přidání nového záznamu do tabulky.

Syntaxe

virtual void AddNew( );

Poznámky

Musíte zavolat Requery členské funkce zobrazit nově přidaný záznam.  Pole v záznamu jsou zpočátku Null.  (V databázové terminologii Null znamená "s žádnou hodnotu" a není stejný jako NULL jazyka C++.) K dokončení operace, musíte zavolat aktualizace členské funkce.  Aktualizace změny uloží do zdroje dat.  

Poznámka

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

AddNewpřipraví nový prázdný záznam pomocí sadě záznamů pole datové členy.  Po volání AddNew , nastavte hodnoty, které chcete v sadě záznamů pole datové členy.  (Nemusíte volat Upravit členské funkce pro tento účel; použít Upravit pouze pro stávající záznamy.) Při následně volání aktualizace, změněné hodnoty v poli datové členy jsou uloženy na zdroj dat.  

Upozornění

Pokud nový záznam posouvání než zavoláte aktualizace, nový záznam je ztracena a bez upozornění.

Pokud zdroj dat podporuje transakce, aby vaše AddNew volání v rámci transakce.  Další informace o transakcích, viz třída CDatabase.  Všimněte si, že by měla zavolat CDatabase::BeginTrans před voláním AddNew .  

Poznámka

Pro dynamické sady jsou přidány nové záznamy na sadu záznamů jako poslední záznam.  Přidané záznamy nejsou přidány do snímků; musíte zavolat Requery aktualizovat sadu záznamů.  

Je neplatné volání AddNew pro sadu záznamů jehož otevřených nebyla volána členské funkce.  A CDBException je vyvolána při volání AddNew u sady záznamů, který nelze připojit.  Můžete určit, zda je sada záznamů aktualizovatelný voláním CanAppend.  

Další informace naleznete v následujících článcích: záznamů: jak sady záznamů aktualizace záznamů (ODBC), záznamů: přidání, aktualizaci a odstraňování záznamů (ODBC), a Transakce (ODBC).

Výjimky

Exception

Condition

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é

Třída CRecordset
Graf hierarchie
CRecordset::Edit
CRecordset::Delete
CRecordset::Update
CRecordset::Requery
CDatabase::BeginTrans
Třída CDBException