Partager via


Utiliser une liaison d’ensemble de lignes (ODBC)

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Pour utiliser la liaison selon les colonnes

  1. Pour chaque colonne dépendante, procédez comme suit :

    • Allouez un tableau de R (ou plus) tampons de colonnes pour stocker les valeurs des données. R désigne le nombre de lignes dans l'ensemble de lignes.

    • Allouez éventuellement un tableau de R (ou plus) tampons de colonnes pour le stockage des longueurs des données.

    • Appelez SQLBindCol pour lier la valeur de données de la colonne et les tableaux de longueur des données à la colonne de l'ensemble de lignes.

  2. Appelez SQLSetStmtAttr pour définir les attributs suivants :

    • Définissez SQL_ATTR_ROW_ARRAY_SIZE sur le nombre de lignes dans l'ensemble de lignes (R).

    • Définissez SQL_ATTR_ROW_BIND_TYPE sur SQL_BIND_BY_COLUMN.

    • Définissez l'attribut SQL_ATTR_ROWS_FETCHED_PTR de sorte qu'il pointe vers une variable SQLUINTEGER contenant le nombre de lignes extraites.

    • Définissez SQL_ATTR_ROWS_STATUS_PTR de sorte qu'il pointe vers un tableau [R] de variables SQLUSSMALLINT contenant les indicateurs d'état de ligne.

  3. Exécution de l'instruction.

  4. Chaque appel à SQLFetch ou SQLFetchScroll extrait des lignes R et transfère les données dans les colonnes dépendantes.

Pour utiliser la liaison selon les lignes

  1. Allouez un tableau [R] de structures, où R correspond au nombre de lignes dans l'ensemble de lignes. La structure dispose d'un élément pour chaque colonne, et chaque élément a deux parties :

    • La première partie est une variable de type de données approprié destinée à contenir les données de la colonne.

    • La deuxième est une variable SQLINTEGER qui affiche l'indicateur d'état de la colonne.

  2. Appelez SQLSetStmtAttr pour définir les attributs suivants :

    • Définissez SQL_ATTR_ROW_ARRAY_SIZE sur le nombre de lignes dans l'ensemble de lignes (R).

    • Définissez SQL_ATTR_ROW_BIND_TYPE conformément à la taille de la structure allouée à l'étape 1.

    • Définissez l'attribut SQL_ATTR_ROWS_FETCHED_PTR de sorte qu'il pointe vers une variable SQLUINTEGER contenant le nombre de lignes extraites.

    • Définissez SQL_ATTR_PARAMS_STATUS_PTR de sorte qu'il pointe vers un tableau [R] de variables SQLUSSMALLINT contenant les indicateurs d'état de ligne.

  3. Pour chaque colonne dans le jeu de résultats, appelez SQLBindCol pour diriger les pointeurs de valeur de données et de longueur de données de colonne vers leurs variables dans le premier élément du tableau de structures alloué à l'étape 1.

  4. Exécution de l'instruction.

  5. Chaque appel à SQLFetch ou SQLFetchScroll extrait des lignes R et transfère les données dans les colonnes dépendantes.

Voir aussi

Rubriques de procédures liées à l’utilisation des curseurs (ODBC)
Comment les curseurs sont implémentés
Utiliser des curseurs (ODBC)