CRecordset::AddNew
Připraví pro přidání nového záznamu do tabulky.
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
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