Sada záznamů: Jak sady záznamů aktualizují záznamy (ODBC)
Toto téma platí pro třídy knihovny MFC rozhraní ODBC.
Kromě schopnosti sady záznamů vybírat záznamy ze zdroje dat, mohou také (nepovinně) aktualizovat nebo odstranit vybrané záznamy nebo přidávat záznamy nové.Tři faktory určují aktualizovatelnost sady záznamů: zda je připojený zdroj dat aktualizovatelný, možnosti určíte, že při vytváření objektu sady záznamů a SQL, který je vytvořen.
[!POZNÁMKA]
Kód SQL, na kterém je váš objekt CRecordset založen, může ovlivnit aktualizovatelnost vaší sady záznamů.Například pokud váš kód SQL obsahuje klauzule join nebo GROUP BY, knihovna MFC nastaví aktualizovatelnost na hodnotu FALSE.
[!POZNÁMKA]
Toto téma se týká objektů odvozených z třídy CRecordset, ve které nebylo naimplementováno hromadné načítání řádku. Pokud používáte hromadné načítání řádku, naleznete v sady záznamů: Fetching Records in Bulk (ODBC).
Toto téma vysvětluje:
Vaši roli při aktualizaci sady záznamů a co provede systém za vás.
Sada záznamů jako upravená vyrovnávací paměť a rozdíly mezi dynamickými sadami a snímky.
Sada záznamů: Jak AddNew, Edit a práce odstranit (rozhraní ODBC) popisuje akce těchto funkcí z hlediska sady záznamů.
Sada záznamů: Více o aktualizacích (rozhraní ODBC) dokončí povídání o aktualizaci tím, že vysvětlí vliv transakcí na aktualizace, jak zavřít sadu záznamů, jak posouvání ovlivňuje aktualizace v průběhu a jak vaše aktualizace působí na aktualizace ostatních uživatelů.
Vaše role při aktualizaci sady záznamů
Následující tabulka ukazuje vaše role při používání sady záznamů pro přidání, úpravy nebo odstranění záznamů spolu s tím, co dělá systém za vás.
Aktualizace sady záznamů: Vy a architektura
Hlavní seznam |
Architektura |
---|---|
Můžete určit, zda je zdroj dat aktualizovatelný (nebo připojitelný). |
Poskytuje členské funkce CDatabase pro testování aktualizovatelnosti nebo schopnosti připojení zdroje dat. |
Můžete otevřít aktualizovatelnou sadu záznamů (jakéhokoli typu). |
|
Můžete určit, zda je sada záznamů aktualizovatelná tím, že volá aktualizační funkce CRecordsetCanUpdate nebo CanAppend. |
|
Můžete volat členské funkce sady záznamů pro přidání, úpravu a odstranění záznamů. |
Spravuje mechanismus výměny dat mezi vaším objektem sady záznamů a zdrojem dat. |
Můžete volitelně použít transakce pro řízení procesu aktualizace. |
Poskytuje členské funkce CDatabase pro podporu transakcí. |
Další informace o transakcích naleznete v tématu Transakce (rozhraní ODBC).
Vyrovnávací paměť pro úpravu
Souhrnně vzato pole datových členů sady záznamů slouží jako vyrovnávací paměť pro úpravu, která obsahuje jeden záznam – aktuální záznam.Operace aktualizace používají tuto vyrovnávací paměť pro práci nad aktuálním záznamem.
Pokud přidáte záznam, vyrovnávací paměť pro úpravu je použita k vytvoření nového záznamu.Poté, co dokončíte přidání záznamu, se záznam, který byl dříve aktuální, stane znovu aktuální.
Při aktualizaci (úpravě) záznamu se vyrovnávací paměť používá k nastavení nových hodnot pole datových členů sady záznamů.Poté, co dokončíte aktualizaci, je aktualizovaný záznam stále aktuální.
Pokud zavoláte AddNew nebo Edit, aktuální záznam je uložen, takže jej lze podle potřeby obnovit později.Pokud zavoláte Delete, aktuální záznam není uložen, ale je označen jako odstraněný a musíte se posunout na jiný záznam.
[!POZNÁMKA]
Vyrovnávací paměť pro úpravu nehraje žádnou roli při odstraňování záznamu.Pokud odstraníte aktuální záznam, záznam je označen jako odstraněný a sada záznamů "není na záznamu" dokud se neposunete na jiný záznam.
Snímky a dynamické sady
Dynamické sady aktualizují obsah záznamů při posunutí se na záznam.Snímky představují statické záznamy, takže obsah záznamu není aktualizován, dokud nezavoláte Requery.Chcete-li použít všechny funkce dynamických sad, je třeba pracovat s ovladačem rozhraní ODBC, který odpovídá správné úrovni podpory rozhraní API ODBC.Další informace naleznete v tématech ODBC a Dynamická sada.