Sada záznamů: Opětovné spuštění dotazu na sadu záznamů (ODBC)
Toto téma se vztahuje na třídy MFC ODBC.
Toto téma vysvětluje, jak můžete použít objekt sady záznamů k opětovnému dotazování (tj. aktualizaci) z databáze a kdy to můžete chtít provést pomocí členské funkce Requery .
Hlavními důvody opětovného dotazování sady záznamů jsou:
Aktualizovat sadu záznamů s ohledem na záznamy přidané vámi nebo jinými uživateli a záznamy odstraněné jinými uživateli (ty, které odstraníte, se už projeví v sadě záznamů).
Aktualizujte sadu záznamů na základě změny hodnot parametrů.
Přenesení sady záznamů do aktuálního stavu
Často budete chtít znovu vytvořit dotaz na objekt sady záznamů, aby byl aktuální. V prostředí databáze s více uživateli můžou ostatní uživatelé provádět změny dat během životnosti sady záznamů. Další informace o tom, kdy sada záznamů odráží změny provedené jinými uživateli a kdy sady záznamů jiných uživatelů odrážejí vaše změny, najdete v tématu Sada záznamů: Jak sady záznamů aktualizují záznamy (ODBC) a Dynaset.
Opětovné dotazování na základě nových parametrů
Dalším častým – a stejně důležitým – použitím příkazu Requery je vybrat novou sadu záznamů na základě změny hodnot parametrů.
Tip
Rychlost dotazu je pravděpodobně výrazně rychlejší, pokud voláte Requery
se změnou hodnot parametrů, než kdybyste volali Open
znovu.
Opětovné dotazování dynamických sad vs. snímků
Vzhledem k tomu, že dynamické sady mají představovat sadu záznamů s dynamickými aktuálními daty, chcete dynamickou dynamickou sadu často dotazovat, pokud chcete odrážet doplňky jiných uživatelů. Snímky jsou naopak užitečné, protože při přípravě sestav, výpočtu součtů atd. můžete bezpečně spoléhat na jejich statický obsah. Přesto můžete někdy chtít znovu vytvořit dotaz na snímek. V prostředí s více uživateli můžou data snímků ztratit synchronizaci se zdrojem dat, protože databázi mění jiní uživatelé.
Opětovné dotazování objektu sady záznamů
- Volání členské funkce Requery objektu.
Případně můžete původní sadu záznamů zavřít a znovu otevřít. V obou případech nová sada záznamů představuje aktuální stav zdroje dat.
Příklad najdete v tématu Zobrazení záznamů: Vyplnění seznamu z druhé sady záznamů.
Tip
Pokud chcete optimalizovat Requery
výkon, vyhněte se změnám filtru nebo řazení sady záznamů. Před voláním Requery
změňte pouze hodnotu parametru .
Requery
Pokud volání selže, můžete zkusit hovor zopakovat. Jinak by vaše aplikace měla řádně ukončit. Volání nebo Requery
Open
může selhat z některého z několika důvodů. Možná dojde k chybě sítě; nebo po uvolnění stávajících dat, ale před získáním nových dat může získat výhradní přístup jiný uživatel; nebo tabulku, na které závisí sada záznamů, může být odstraněna.
Viz také
Sada záznamů (ODBC)
Sada záznamů: Dynamické vazby datových sloupců (ODBC)
Sada záznamů: Vytváření a uzavírání sad záznamů (ODBC)