Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V moderních aplikacích založených na obrazovce uživatel posouvá data zpět a vpřed. U takových aplikací je návrat na dříve načtený řádek problémem. Jednou z možností je zavřít a znovu otevřít kurzor a pak načíst řádky, dokud kurzor nedosáhne požadovaného řádku. Další možností je přečíst sadu výsledků, uložit ji místně do mezipaměti a implementovat posouvání v aplikaci. Obě možnosti dobře fungují pouze s malými sadami výsledků a druhá možnost je obtížné implementovat. Lepším řešením je použít posouvání kurzoru, který se může v sadě výsledků pohybovat vzad a vpřed.
Posuvný kurzor se běžně používá v moderních aplikacích založených na obrazovkách, ve kterých se uživatel posunuje mezi daty a zpět. Aplikace by však měly používat posuvné kurzory pouze v případě, že kurzory pouze vpřed nebudou provádět úlohu, protože posuvné kurzory jsou obecně dražší než kurzory pouze vpřed.
Možnost pohybu dozadu vyvolává otázku, která se nevztahuje na kurzory jen dopředu: Má posuvný kurzor rozpoznávat změny provedené na řádcích, které byly dříve načteny? To znamená, že by měl rozpoznat aktualizované, odstraněné a nově vložené řádky?
K této otázce dochází, protože definice sady výsledků – sada řádků, které odpovídají určitým kritériím – neuvádí, když jsou řádky kontrolovány, aby bylo možné zjistit, zda splňují tato kritéria, ani neuvádí, zda řádky musí obsahovat stejná data pokaždé, když se načítají. První vynechání umožňuje kurzorům zjistit, zda byly řádky vloženy nebo odstraněny, zatímco to druhé umožňuje zjistit aktualizovaná data.
Schopnost rozpoznat změny je někdy užitečná, někdy ne. Například účetní aplikace potřebuje kurzor, který ignoruje všechny změny; vyrovnávání knih není možné, pokud kurzor zobrazuje nejnovější změny. Na druhou stranu rezervační systém leteckých společností potřebuje kurzor, který zobrazuje nejnovější změny dat; bez takového kurzoru musí průběžně znovu provádět dotazy do databáze, aby zobrazoval co nejaktuálnější dostupnost letů.
Aby bylo možné pokrýt potřeby různých aplikací, rozhraní ODBC definuje čtyři různé typy posuvných kurzorů. Tyto kurzory se liší jak ve výdajích, tak ve své schopnosti detekovat změny v sadě výsledků. Všimněte si, že pokud posuvný kurzor dokáže rozpoznat změny řádků, může je rozpoznat pouze při pokusu o opětovné načtení těchto řádků; neexistuje způsob, jak zdroj dat upozornit kurzor na změny aktuálně načtených řádků. Všimněte si také, že viditelnost změn je také řízena úrovní izolace transakcí; Další informace naleznete v tématu Izolace transakcí.
Tato část obsahuje následující témata.