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