Fermeture du curseur

Lorsqu’une application a terminé d’utiliser un curseur, elle appelle SQLCloseCursor pour fermer le curseur. Par exemple :

SQLCloseCursor(hstmt);  

Tant que l’application ne ferme pas le curseur, l’instruction sur laquelle le curseur est ouvert ne peut pas être utilisée pour la plupart des autres opérations, telles que l’exécution d’une autre instruction SQL. Pour obtenir la liste complète des fonctions qui peuvent être appelées pendant l’ouverture d’un curseur, consultez l’annexe B : Tables de transition d’état ODBC.

Remarque

Pour fermer un curseur, une application doit appeler SQLCloseCursor, et non SQLCancel.

Les curseurs restent ouverts jusqu’à ce qu’ils soient explicitement fermés, sauf lorsqu’une transaction est validée ou restaurée, auquel cas certaines sources de données ferment le curseur. En particulier, atteindre la fin du jeu de résultats, lorsque SQLFetch retourne SQL_NO_DATA, ne ferme pas un curseur. Même les curseurs sur les jeux de résultats vides (jeux de résultats créés lorsqu’une instruction a été exécutée avec succès, mais qui n’a retourné aucune ligne) doivent être explicitement fermés.