Libération d’un handle d’instruction dans ODBC
Comme mentionné précédemment, il est plus efficace de réutiliser les instructions que de les supprimer et d’en allouer de nouvelles. Avant d’exécuter une nouvelle instruction SQL sur une instruction, les applications doivent être sûrs que les paramètres d’instruction actuels sont appropriés. Cela inclut les attributs d'instruction, les liaisons de paramètres et les liaisons de jeux de résultats. En règle générale, les paramètres et les jeux de résultats de l’ancienne instruction SQL doivent être indépendants (en appelant SQLFreeStmt avec les options SQL_RESET_PARAMS et SQL_UNBIND) et en rebondissant pour la nouvelle instruction SQL.
Une fois l’application terminée à l’aide de l’instruction, elle appelle SQLFreeHandle pour libérer l’instruction. Après avoir libéré l’instruction, il s’agit d’une erreur de programmation d’application pour utiliser le handle de l’instruction dans un appel à une fonction ODBC ; cela a sans doute des conséquences irrécupérables mais probablement fatales.
Lorsque SQLFreeHandle est appelé, le pilote libère la structure utilisée pour stocker des informations sur l’instruction.
SQLDisconnect libère automatiquement toutes les instructions sur une connexion.