Sada záznamů: Záložky a absolutní umístění (ODBC)
Toto téma platí pro třídy knihovny MFC rozhraní ODBC.
Při procházení sady záznamů často potřebujete způsob, jak se vrátit na určitý záznam.Záložka a absolutní umístění záznamu poskytují takové dvě metody.
Toto téma vysvětluje:
Jak použít záložky.
Jak nastavit aktuální záznam pomocí absolutních umístění.
Záložky v knihovně MFC rozhraní ODBC
Záložka jednoznačně identifikuje záznam.Při procházení sady záznamů nelze vždy spoléhat na absolutní pozici záznamu, protože záznamy mohou být odstraněny ze sady záznamů.Použití jeho záložky je spolehlivý způsob k tomu, abyste si udrželi přehled o pozici záznamu.Třída CRecordset dodává členské funkce pro:
Získání záložky aktuálního záznamu, takže ji můžete uložit v proměnné (GetBookmark).
Rychlé přesunutí na daný záznam zadáním její záložky, kterou jste si uložili dříve v proměnné (SetBookmark).
Následující příklad ukazuje použití těchto členských funkcí k označení aktuálního záznamu a pozdějšího vrácení se na něj:
// rs is a CRecordset or
// CRecordset-derived object
CDBVariant varRecordToReturnTo;
rs.GetBookmark( varRecordToReturnTo );
// More code in which you
// move to other records
rs.SetBookmark( varRecordToReturnTo );
Nemusíte extrahovat původní datový typ z objektu Třída CDBVariant.Přiřaďte hodnotu pomocí GetBookmark a vraťte se na tuto záložku pomocí SetBookmark.
[!POZNÁMKA]
V závislosti na vašem ovladači rozhraní ODBC a typu sady záznamů nemusí být záložky podporovány.Můžete snadno určit, zda jsou záložky podporovány, voláním CRecordset::CanBookmark.Pokud jsou záložky podporovány, je nutné explicitně zvolit jejich implementaci zadáním možnosti CRecordset::useBookmarks v členské funkci CRecordset::Open.Také byste měli zkontrolovat zachování záložek po určitých operacích sady záznamů.Například pokud znovu spustíte dotaz sady záznamů, záložky se mohou stát neplatné.Chcete-li zkontrolovat, zda můžete bezpečně volat SetBookmark, zavolejte CDatabase::GetBookmarkPersistence.
Absolutní umístění v knihovně MFC rozhraní ODBC
Kromě záložek Vám třída CRecordset umožňuje nastavit aktuální záznam zadáním pořadového čísla.Tento postup se nazývá absolutní umístění.
[!POZNÁMKA]
Absolutní umístění není k dispozici pro dopředné sady záznamů.Další informace o dopředných sadách záznamů naleznete v tématu Sada záznamů (ODBC).
Chcete-li přesunout ukazatel aktuálního záznamu pomocí absolutního umístění, volejte CRecordset::SetAbsolutePosition.Když předáte hodnotu SetAbsolutePosition, záznam odpovídající danému pořadovému číslu se změní na aktuální záznam.
[!POZNÁMKA]
Absolutní umístění záznamu je potenciálně nespolehlivé.Pokud uživatel odstraní záznamy ze sady záznamů, pořadová čísla všech následných záznamů se změní.Záložky jsou doporučenou metodou pro přesunutí aktuálního záznamu.Další informace naleznete v tématu Záložky v knihovně MFC rozhraní ODBC.
Další informace o navigaci v sadě záznamů naleznete v tématu Sada záznamů: Posouvání (ODBC).