Sdílet prostřednictvím


Záznamů: Opakováním dotazu 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 při vaší sady záznamů se odrážejí změny provedené jinými uživateli a při jiných uživatelů sady záznamů odrážet změny viz záznamů: jak sady záznamů aktualizaci záznamů (ODBC) a Dynaset.

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.

Jako příklad viz zobrazení záznamu: vyplnění seznamu z druhé Recordset.

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

Sady záznamů (ODBC)

Záznamů: Vazba dynamicky sloupce dat (ODBC)

Záznamů: Vytváření a zavírání sady záznamů (ODBC)