Udostępnij przez


Zamykanie kursora

Po zakończeniu korzystania z kursora aplikacja wywołuje klasę SQLCloseCursor , aby zamknąć kursor. Przykład:

SQLCloseCursor(hstmt);  

Dopóki aplikacja nie zamknie kursora, instrukcja, na której jest otwarty kursor, nie może być używana dla większości innych operacji, takich jak wykonywanie innej instrukcji SQL. Aby uzyskać pełną listę funkcji, które można wywołać podczas otwierania kursora, zobacz Dodatek B: Tabele przejścia stanu ODBC.

Uwaga / Notatka

Aby zamknąć kursor, aplikacja powinna wywołać metodę SQLCloseCursor, a nie SQLCancel.

Kursory pozostają otwarte do momentu ich jawnego zamknięcia, z wyjątkiem sytuacji, gdy transakcja zostanie zatwierdzona lub wycofana, w tym przypadku niektóre źródła danych zamykają kursor. W szczególności osiągnięcie końca zestawu wyników, gdy funkcja SQLFetch zwraca SQL_NO_DATA, nie zamyka kursora. Nawet kursory na pustych zestawach wyników (zestawy wyników utworzone po pomyślnym wykonaniu instrukcji, ale które nie zwróciły żadnych wierszy) muszą być jawnie zamknięte.