Utilisation de curseurs (ODBC)
ODBC prend en charge un modèle de curseur qui autorise :
plusieurs types de curseurs ;
le défilement et le positionnement dans un curseur ;
plusieurs options de concurrence ;
des mises à jour positionnées.
Les applications ODBC ont rarement besoin de déclarer ou d'ouvrir des curseurs. De même, elles utilisent peu souvent les instructions Transact-SQL relatives aux curseurs. ODBC ouvre automatiquement un curseur pour chaque jeu de résultats retourné par une instruction SQL. Les caractéristiques des curseurs sont contrôlées par des attributs d'instruction définis avec SQLSetStmtAttr avant l'exécution de l'instruction SQL. Les fonctions de l'API ODBC relatives au traitement des jeux de résultats prennent en charge l'ensemble des fonctionnalités des curseurs, y compris l'extraction, le défilement et les mises à jour positionnées.
Le tableau suivant compare la façon dont les scripts Transact-SQL et les applications ODBC utilisent les curseurs.
Action |
Transact-SQL |
ODBC |
---|---|---|
Définir le comportement du curseur |
Spécifier par le biais de paramètres DECLARE CURSOR |
Définir des attributs de curseur à l'aide de SQLSetStmtAttr |
Ouvrir un curseur |
DECLARE CURSOR OPEN nom_curseur |
SQLExecDirect ou SQLExecute |
Extraire des lignes |
FETCH |
SQLFetch ou SQLFetchScroll |
Mise à jour positionnée |
Clause WHERE CURRENT OF sur UPDATE ou DELETE |
SQLSetPos |
Fermer un curseur |
CLOSE nom_curseur DEALLOCATE |
Les curseurs côté serveur implémentés dans SQL Server prennent en charge les fonctionnalités du modèle de curseur ODBC. Le pilote SQL Server Native Client utilise des curseurs côté serveur pour prendre en charge les fonctionnalités de curseur de l'API ODBC.