Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Ajoute une ligne à l’ensemble de lignes de copie en bloc. Pour obtenir des exemples, consultez La copie en bloc des données à l’aide d’IRowsetFastLoad (OLE DB) et l’envoi de données BLOB à SQL SERVER à l’aide d’IROWSETFASTLOAD et d’ISEQUENTIALSTREAM (OLE DB).
Syntaxe
HRESULT InsertRow(
HACCESSOR
hAccessor
,
void*
pData
);
Les arguments
hAccessor[in]
Handle de l’accesseur définissant les données de ligne pour la copie en bloc. L’accesseur référencé est un accesseur de ligne, qui lie la mémoire du consommateur contenant des valeurs de données.
pData[in]
Pointeur vers la mémoire appartenant au consommateur contenant des valeurs de données. Pour plus d’informations, consultez Structures DBBINDING.
Codet de retour
S_OK
S_OK Toutes les valeurs d’état liées pour toutes les colonnes ont une valeur DBSTATUS_S_OK ou DBSTATUS_S_NULL.
E_FAIL
Une erreur est survenue. Les informations d’erreur sont disponibles à partir des interfaces d’erreur de l’ensemble de lignes.
E_INVALIDARG
L’argument pData a été défini sur un pointeur NULL.
E_OUTOFMEMORY
SQLNCLI11 n’a pas pu allouer suffisamment de mémoire pour terminer la requête.
ERREUR_IMPRÉVUE
La méthode a été appelée sur un ensemble de lignes de copie en bloc précédemment invalidé par la méthode IRowsetFastLoad ::Commit .
DB_E_BADACCESSORHANDLE
L’argument hAccessor fourni par le consommateur n’était pas valide.
DB_E_BADACCESSORTYPE
L’accesseur spécifié n’était pas un accesseur de ligne ou ne spécifiait pas de mémoire appartenant au consommateur.
Remarques
Une erreur lors de la conversion de données consommateur en type de données SQL Server pour une colonne provoque un retour E_FAIL du fournisseur OLE DB SQL Server Native Client. Les données peuvent être transmises à SQL Server sur n’importe quelle méthode InsertRow ou uniquement sur la méthode Commit . L’application consommateur peut appeler la méthode InsertRow plusieurs fois avec des données erronées avant de recevoir une notification indiquant qu’une erreur de conversion de type de données existe. Étant donné que la méthode Commit garantit que toutes les données sont correctement spécifiées par le consommateur, le consommateur peut utiliser la méthode Commit de manière appropriée pour valider les données si nécessaire.
Les ensembles de lignes de copie en bloc du fournisseur OLE DB SQL Server Native Client sont en écriture seule. Le fournisseur OLE DB SQL Server Native Client n’expose aucune méthode autorisant la requête consommateur de l’ensemble de lignes. Pour arrêter le traitement, le consommateur peut publier sa référence sur l’interface IRowsetFastLoad sans appeler la méthode Commit . Il n’existe aucune possibilité d’accéder à une ligne insérée par le consommateur dans l’ensemble de lignes et de modifier ses valeurs, ou de la supprimer individuellement de l’ensemble de lignes.
Les lignes copiées en bloc sont mises en forme sur le serveur pour SQL Server. Le format de ligne est affecté par toutes les options qui ont pu être définies pour la connexion ou la session, telles que ANSI_PADDING. Cette option est définie par défaut pour toute connexion établie via le fournisseur OLE DB SQL Server Native Client.