Partager via


Traitement des résultats

Si un objet d'ensemble de ligne est produit par l'exécution d'une commande ou la génération d'un objet d'ensemble de ligne directement à partir du fournisseur, le consommateur doit extraire et accéder aux données dans l'ensemble de lignes.

Les ensembles de lignes sont les objets centraux qui permettent au fournisseur OLE DB SQL Server Native Client d'exposer des données au format tabulaire. Conceptuellement, un ensemble de lignes est un jeu de lignes dans lequel chaque ligne possède des données de colonne. Un objet d'ensemble de ligne expose des interfaces telles que IRowset (contient des méthodes pour extraire des lignes de l'ensemble de lignes de manière séquentielle), IAccessor (autorise la définition d'un groupe de liaisons de colonnes qui décrivent la manière dont les données tabulaires sont liées aux variables de programme de consommateur), IColumnsInfo (fournit des informations à propos des colonnes dans l'ensemble de lignes) et IRowsetInfo (fournit des informations à propos de l'ensemble de lignes).

Un consommateur peut appeler la méthode IRowset::GetData pour extraire une ligne de données de l'ensemble de lignes dans une mémoire tampon. Avant que GetData ne soit appelé, le consommateur décrit la mémoire tampon à l'aide d'un jeu de structures DBBINDING. Chaque liaison décrit la manière dont une colonne dans un ensemble de lignes est stockée dans une mémoire tampon de consommateur et contient les éléments suivants :

  • ordinal de la colonne (ou paramètre) auquel la liaison s'applique ;

  • informations concernant ce qui est lié (par exemple, valeur des données, longueur des données et leur état de liaison) ;

  • informations concernant ce qui est décalé dans la mémoire tampon à chacune de ces parties ;

  • longueur et type des valeurs de données telles qu'elles existent dans la mémoire tampon du consommateur.

Lors de l'obtention des données, le fournisseur utilise les informations dans chaque liaison afin de déterminer où et comment extraire des données de la mémoire tampon du consommateur. Lors de la définition des données dans la mémoire tampon du consommateur, le fournisseur utilise les informations dans chaque liaison afin de déterminer où et comment retourner des données dans la mémoire tampon du consommateur.

Une fois les structures DBBINDING créées, un accesseur est créé (IAccessor::CreateAccessor). Un accesseur est une collection de liaisons utilisée pour obtenir ou définir les données dans la mémoire tampon du consommateur.