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.
Important
Tato funkce se odebere v budoucí verzi Windows. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Microsoft doporučuje používat funkci kurzoru ovladače.
Poté, co aplikace načte blok dat pomocí SQLFetchScroll, může data v bloku aktualizovat nebo smazat. Pro provedení umístěné aktualizace nebo smazání aplikace:
Volá SQLSetPos, aby umístil kurzor na řádek, který má být aktualizován nebo smazán.
Sestavuje umístěný příkaz update nebo delete s následující syntaxí:
UPDATE Název tabulky
SET Identifikátor= sloupce {výraz | NULL}
[,identifikátor= sloupce {výraz | NULL}]
KDE PROUDkurzorového názvu
DELETE Znázvu tabulkyKDE PROUDkurzorového názvu
Nejjednodušší způsob, jak sestavit klauzuli SET v příkazu positioned update, je použít parametrové značky pro každý sloupec, který má být aktualizován, a použít SQLBindParameter k jejich přiřazení k řádkovým bufferům pro řádek, který má být aktualizován. V tomto případě bude typ dat C parametru stejný jako typ dat C řádkového bufferu.
Aktualizuje řádkové buffery pro aktuální řádek, pokud spustí příkaz pro aktualizaci polohy. Po úspěšném provedení příkazu positioned update knihovna kurzorů zkopíruje hodnoty z každého sloupce v aktuálním řádku do své cache.
Caution
Pokud aplikace správně neaktualizuje řádkové buffery před vykonáním příkazu s umístěnou aktualizací, data v cache budou po vykonání příkazu nesprávná.
Vykoná příkaz "positioned update" nebo delete pomocí jiného příkazu, než jaký je přiřazen k kurzoru.
Caution
Klauzule WHERE vytvořená kurzorovou knihovnou pro identifikaci aktuálního řádku může selhat v identifikaci žádných řádků, jiného řádku nebo více než jednoho řádku. Pro více informací viz Konstruování vyhledávaných výroků.
Všechny pozice příkazů update a delete vyžadují název kurzoru. Pro určení názvu kurzoru aplikace volá SQLSetCursorName před jeho otevřením. Pro použití názvu kurzoru generovaného ovladačem aplikace po otevření kurzoru volá SQLGetCursorName .
Po vykonání příkazu pro umístění knihovny kurzorů update nebo delete obsahují stavové pole, řádkové buffery a cache udržované knihovnou kurzoru hodnoty uvedené v následující tabulce.
| Použité tvrzení | Hodnota v poli stavů řádků | Hodnoty v Řádkové vyrovnávací paměti |
Hodnoty v Cache buffery |
|---|---|---|---|
| Aktualizace polohy | SQL_ZÁZNAM_AKTUALIZOVÁN | Nové hodnoty[1] | Nové hodnoty[1] |
| Umístěné mazání | SQL_ROW_DELETED | Staré hodnoty | Staré hodnoty |
[1] Aplikace musí před vykonáním příkazu pro aktualizaci pozice aktualizovat hodnoty v bufferech řádků; Po provedení příkazu Positioned Update knihovna kurzorů zkopíruje hodnoty v bufferu řádkové sady do své cache.