Sada záznamů: Opětovné spuštění dotazu sady záznamů (ODBC)
Toto téma platí pro třídy knihovny MFC rozhraní ODBC.
Toto téma vysvětluje, jak můžete použít objekt sady záznamů, aby znovu spustil dotaz z databáze na sebe sama (to znamená, aby se aktualizoval) a kdy to můžete chtít provést pomocí členské funkce Requery.
Hlavní důvody pro opětovné spuštění dotazu sady záznamů jsou následující:
Aktualizovat sadu záznamů s ohledem na záznamy přidané vámi nebo ostatními uživateli a záznamy odstraněné jinými uživateli (ty, které odstraníte vy, jsou již promítnuty v sadě záznamů).
Aktualizovat sadu záznamů na základě změny hodnot parametru.
Aktualizování sady záznamů
Často budete chtít znovu spustit dotaz objektu sady záznamů, abyste jej aktualizovali. V prostředí víceuživatelské databáze mohou ostatní uživatelé provádět změny dat během životnosti vaší sady záznamů. Další informace o tom, kdy vaše sada záznamů promítne změny provedené ostatními uživateli a kdy sada záznamů ostatních uživatelů promítne vaše změny, naleznete v tématu Sada záznamů: Jak sady záznamů aktualizují záznamy (rozhraní ODBC) a Dynamická sada.
Opakováním dotazu na základě nových parametrů
Jiné časté a stejně důležité je využívání Requery pro výběr nové sady záznamů na základě změny hodnot parametru.
Tip
Rychlost dotazu je pravděpodobně mnohem vyšší, pokud zavoláte Requery se změněnou hodnotou parametru, než pokud znovu voláte Open.
Opakování dotazu dynamické sady vs.snímky
Vzhledem k tomu, že jsou dynamické sady určeny k prezentování sady záznamů s dynamickými aktuálními daty, budete chtít často znovu spustit dotaz dynamických sad, pokud chcete promítnout aktualizace ostatních uživatelů. Snímky jsou naproti tomu užitečné, protože se můžete bez obav spolehnout na jejich statický obsah, zatímco připravujete zprávy, počítáte souhrny a tak dále. Stále můžete někdy chtít znovu spustit dotaz také u snímku. Ve víceuživatelském prostředí může dojít ke ztrátě synchronizace dat se zdrojem dat u snímku, protože ostatní uživatelé mezitím změní databázi.
Chcete-li znovu spustit dotaz objektu sady záznamů
- Zavolejte členskou funkci Requery objektu.
Alternativně můžete zavřít a znovu otevřít původní sadu záznamů. Nová sada záznamů představuje v obou případech aktuální stav zdroje dat.
Příklad naleznete v tématu Zobrazení záznamů: Vyplnění seznamu z druhé sady záznamů.
Tip
Chcete-li optimalizovat výkon Requery, neměňte filter nebo sort sady záznamů. Před voláním změňte pouze hodnotu parametru Requery.
Pokud se nezdaří volání Requery, můžete volání opakovat; v opačném případě by se měla aplikace řádně ukončit. Volání Requery nebo Open může selhat z mnoha důvodů. Možná dojde k chybě sítě; nebo během volání, poté, co jsou existující data uvolněna, ale před tím, než jsou nová data načtena, může jiný uživatel získat výhradní přístup; nebo může být tabulka, na které závisí vaše sada záznamů, odstarěna.
Viz také
Koncepty
Sada záznamů: Dynamická vazba datových sloupců (rozhraní ODBC)
Sada záznamů: Vytváření a uzavírání sad záznamů ( rozhraní ODBC)