Nombre de lignes extraites et état

Si l’attribut d’instruction SQL_ATTR_ROWS_FETCHED_PTR a été défini, il spécifie une mémoire tampon qui retourne le nombre de lignes extraites par l’appel à SQLFetch ou SQLFetchScroll et les lignes d’erreur. (Ce nombre est un nombre de toutes les lignes qui n’ont pas l’état SQL_ROW_NO_ROWS.) Après un appel à SQLBulkOperations ou SQLSetPos, la mémoire tampon contient le nombre de lignes affectées par une opération en bloc effectuée par la fonction. Si l’attribut d’instruction SQL_ATTR_ROW_STATUS_PTR a été défini, SQLFetch ou SQLFetchScroll retourne le tableau d’état de ligne, qui fournit l’état de chaque ligne retournée. Les deux mémoires tampons pointées par ces champs sont allouées par l’application et remplies par le pilote. Une application doit s’assurer que ces pointeurs restent valides jusqu’à ce que le curseur soit fermé.

Les entrées du tableau d’état de ligne indiquent si chaque ligne a été récupérée correctement, qu’elle ait été mise à jour, ajoutée ou supprimée depuis sa dernière extraction et si une erreur s’est produite lors de l’extraction de la ligne. Si SQLFetch ou SQLFetchScroll rencontre une erreur lors de la récupération d’une ligne d’un ensemble de lignes multirow, ou si SQLBulkOperations avec un argument Opération de SQL_FETCH_BY_BOOKMARK rencontre une erreur lors de l’extraction en bloc, elle définit la valeur correspondante dans le tableau d’état de ligne sur SQL_ROW_ERROR, continue à extraire des lignes et retourne SQL_SUCCESS_WITH_INFO. Pour plus d’informations sur la gestion des erreurs et le tableau d’état des lignes, consultez les descriptions des fonctions SQLFetch et SQLFetchScroll.