Sada záznamů (ODBC)
Toto téma se vztahuje na třídy MFC ODBC.
CRecordset objekt představuje sadu záznamů vybraných ze zdroje dat. Záznamy můžou být z:
Tabulka.
Dotaz.
Uložená procedura, která přistupuje k jedné nebo více tabulkám.
Příkladem sady záznamů založené na tabulce je "všichni zákazníci", která přistupuje k tabulce Customer. Příkladem dotazu je "všechny faktury pro Joea Smitha". Příkladem sady záznamů na základě uložené procedury (někdy označované jako předdefinovaný dotaz) je "všechny delikventované účty", které vyvolá uloženou proceduru v back-end databázi. Sada záznamů může spojit dvě nebo více tabulek ze stejného zdroje dat, ale ne tabulky z různých zdrojů dat.
Poznámka:
Některé ovladače ODBC podporují zobrazení databáze. Zobrazení v tomto smyslu je dotaz původně vytvořený pomocí příkazu SQL CREATE VIEW
.
Možnosti sady záznamů
Všechny objekty sady záznamů sdílejí následující možnosti:
Pokud zdroj dat není jen pro čtení, můžete určit, že sada záznamů bude aktualizovatelná, připojitelná nebo jen pro čtení. Pokud je sada záznamů aktualizovatelná, můžete zvolit buď pesimistické nebo optimistické metody uzamčení, za předpokladu, že ovladač poskytuje odpovídající podporu uzamčení . Pokud je zdroj dat jen pro čtení, sada záznamů bude jen pro čtení.
Můžete volat členské funkce a procházet vybrané záznamy.
Záznamy můžete filtrovat tak, aby omezovaly, které záznamy jsou vybrány z dostupných záznamů.
Záznamy můžete seřadit vzestupně nebo sestupně podle jednoho nebo více sloupců.
Sadu záznamů můžete parametrizovat tak, aby se výběr sady záznamů opravoval za běhu.
Snímky a dynamické sady
Existují dva hlavní typy sad záznamů: snímky a dynasety. Obě jsou podporovány třídou CRecordset
. Každý sdílí společné charakteristiky všech sad záznamů, ale každý také rozšiřuje společné funkce vlastním specializovaným způsobem. Snímky poskytují statické zobrazení dat a jsou užitečné pro sestavy a další situace, ve kterých chcete zobrazit data tak, jak existovaly v určitém okamžiku. Dynamické sady jsou užitečné, když chcete, aby aktualizace provedené jinými uživateli byly viditelné v sadě záznamů, aniž by bylo nutné znovu dotazovat nebo aktualizovat sadu záznamů. Snímky a dynasety lze aktualizovat nebo jen pro čtení. Pokud chcete odrážet záznamy přidané nebo odstraněné jinými uživateli, zavolejte CRecordset::Requery.
CRecordset
umožňuje také dva další typy sad záznamů: dynamické sady záznamů a sady záznamů jen pro předávání. Dynamické sady záznamů jsou podobné dynamickým sadám; dynamické sady záznamů však odrážejí všechny přidané nebo odstraněné záznamy bez volání CRecordset::Requery
. Z tohoto důvodu jsou dynamické sady záznamů obecně nákladné vzhledem k době zpracování dbMS a mnoho ovladačů ODBC je nepodporuje. Naproti tomu sady záznamů jen pro předávání poskytují nejúčinnější metodu přístupu k datům pro sady záznamů, které nevyžadují aktualizace ani zpětné posouvání. K migraci dat z jednoho zdroje dat do jiného můžete například použít sadu záznamů jen pro předávání, kde je potřeba procházet pouze dopředu. Pokud chcete použít sadu záznamů jen pro předávání, musíte udělat obě z těchto věcí:
Předejte možnost
CRecordset::forwardOnly
jako parametr nOpenType členské funkce Open.Zadejte
CRecordset::readOnly
v parametru dwOptions parametruOpen
.
Sady záznamů
Pro každou odlišnou tabulku, zobrazení nebo uloženou proceduru, ke které chcete získat přístup, obvykle definujete třídu odvozenou z CRecordset
. (Výjimkou je spojení databáze, ve kterém jedna sada záznamů představuje sloupce ze dvou nebo více tabulek.) Při odvození třídy sady záznamů povolíte mechanismus výměny polí záznamů (RFX) nebo mechanismus hromadné výměny polí záznamů (Bulk RFX), který se podobá mechanismu výměny dat dialogového okna (DDX). RFX a Bulk RFX zjednodušují přenos dat ze zdroje dat do sady záznamů; RFX navíc přenáší data ze sady záznamů do zdroje dat. Další informace naleznete v tématu Výměna polí záznamu (RFX) a Sada záznamů: Načítání záznamů hromadně (ODBC).
Objekt sady záznamů umožňuje přístup ke všem vybraným záznamům. Projděte si více vybraných záznamů pomocí CRecordset
členských funkcí, například MoveNext
a MovePrev
. Současně objekt sady záznamů představuje pouze jeden z vybraných záznamů, aktuální záznam. Pole aktuálního záznamu můžete prozkoumat deklarací proměnných členů sady záznamů, které odpovídají sloupcům tabulky nebo záznamům, které jsou výsledkem databázového dotazu. Informace o datovýchčlench
Následující témata vysvětlují podrobnosti o používání objektů sady záznamů. Témata jsou uvedena v funkčních kategoriích a přirozeném pořadí procházení, které umožňuje sekvenční čtení.
Témata týkající se mechaniky otevírání, čtení a zavírání sad záznamů
Témata týkající se mechaniky úprav sad záznamů
Sada záznamů: Přidávání, aktualizace a odstranění záznamů (ODBC)
Sada záznamů: Opětovné spuštění dotazu na sadu záznamů (ODBC)
Témata o poněkud pokročilejších technikách
Sada záznamů: Deklarace třídy předdefinovaného dotazu (ODBC)
Sada záznamů: Získávání součtů a jiných souhrnných výsledků (ODBC)
Témata týkající se fungování sad záznamů
Viz také
Open Database Connectivity (ODBC)
MFC – využívání rozhraní ODBC
Transakce (ODBC)