Az SQLCloseCursor függvény

Megfelelőség
Bemutatott verzió: ODBC 3.0 szabványoknak megfelelés: ISO 92

Summary
Az SQLCloseCursor lezár egy kurzort, amelyet egy kijelentésre nyitottak, és eldobja a függő eredményeket.

Syntax

  
SQLRETURN SQLCloseCursor(  
     SQLHSTMT     StatementHandle);  

Arguments

StatementHandle
[Bemenet] Utasításkezelő.

Returns

SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR vagy SQL_INVALID_HANDLE.

Diagnostics

Amikor az SQLCloseCursor SQL_ERROR vagy SQL_SUCCESS_WITH_INFO értéket ad vissza, egy hozzárendelt SQLSTATE értéket lehet megszerezni azzal, hogy az SQLGetDiagRec hívása egy SQL_HANDLE_STMT HandleType és egy HandleType of StatementHandle (Handle) segítségével érhető el. Az alábbi táblázat felsorolja az SQLCloseCursor által gyakran visszaadott SQLSTATE értékeket, és mindegyiket elmagyarázza ezen függvény kontextusában; a "(DM)" jelölés megelőzi a Driver Manager által visszaadott SQLSTATE-leírásokat. Az egyes SQLSTATE-értékekhez társított visszatérési kód SQL_ERROR, kivéve, ha másként van feltüntetve.

SQLSTATE Hiba Description
01000 Általános figyelmeztetés Illesztőprogram-specifikus tájékoztató üzenet. (A függvény SQL_SUCCESS_WITH_INFO ad vissza.)
24000 Érvénytelen kurzorállapot Nem volt kurzor nyitva a StatementHandle-en. (Ezt csak az ODBC 3 adja vissza. x driver.)
HY000 Általános hiba Hiba történt, amely miatt nem volt konkrét SQLSTATE, és amelyhez nem definiáltak implementációspecifikus SQLSTATE-t. Az SQLGetDiagRec által a *MessageText pufferben visszaadott hibaüzenet leírja a hibát és annak okát.
HY001 Memóriafoglalási hiba Az illesztőprogram nem tudta lefoglalni a függvény végrehajtásának vagy befejezésének támogatásához szükséges memóriát.
HY010 Függvényütemezési hiba (DM) Egy aszinkron futó függvényt hívtak a StatementHandle kapcsolódási handle-re, amely még futott, amikor ezt a függvényt hívták.

(DM) Egy aszinkron futó függvényt hívtak a StatementHandle számára, és még akkor futott, amikor ezt a függvényt hívták.

(DM) SQLExecute, SQLExecDirect, SQLBulkOperations vagy SQLSetPos lett meghívva az Utasításkezelőhöz , és SQL_NEED_DATA. Ezt a függvényt az összes adatvégrehajtási paraméter vagy oszlop adatküldése előtt hívták meg.
HY013 Memóriakezelési hiba A függvényhívás nem dolgozható fel, mert a mögöttes memóriaobjektumok nem érhetők el, esetleg a memóriahiány miatt.
HY117 A kapcsolat ismeretlen tranzakciós állapot miatt fel van függesztve. Csak a leválasztási és írásvédett függvények engedélyezettek. (DM) A felfüggesztett állapotról további információt az SQLEndTran függvényben talál.
HYT01 A kapcsolati időkorlát lejárt A kapcsolat időtúllépési időtartama lejárt, mielőtt az adatforrás válaszolt a kérésre. A kapcsolat időtúllépési időszaka az SQLSetConnectAttr SQL_ATTR_CONNECTION_TIMEOUT keresztül van beállítva.
IM001 Az illesztőprogram nem támogatja ezt a függvényt (DM) Az StatementHandle-hez társított illesztőprogram nem támogatja a függvényt.

Comments

Az SQLCloseCursor visszaadja az SQLSTATE 24000-et (Invalid kurzorállapot), ha nincs nyitva kurzor. Az SQLCloseCursor hívása egyenértékű azzal, mint az SQLFreeStmt hívása az SQL_CLOSE opcióval, kivéve, hogy az SQLFreeStmt SQL_CLOSE-vel nem hat hatása az alkalmazásra, ha nincs kurzor nyitva a mondakozásra, míg az SQLCloseCursor SQLSTATE 24000-et (Invalid cursor state) ad.

Note

Ha ODBC 3. x alkalmazás ODBC 2-vel dolgozik. x driver hívja az SQLCloseCursort, ha nincs nyitva kurzor, az SQLSTATE 24000 (Invalid cursorállapot) nem tér vissza, mert a Driver Manager az SQLCloseCursort SQL_CLOSE-vel együtt térképezi az SQLCloseCursort-t.

További információért lásd: A kurzor lezárása.

Kódpélda

Lásd SQLBrowseConnect függvényt és SQLConnect függvényt.

Információ erről: Nézze
Utasításfeldolgozás megszakítása SQLCancel függvény
Egy fogantyú felszabadítása SQLFreeHandle függvény
Több eredményhalmaz feldolgozása SQLMoreResults Function