Share via


IRowsetFastLoad::InsertRow (OLE DB)

Ajoute une ligne à l'ensemble de lignes de copie en bloc. Pour obtenir des exemples, consultez Copier des données en bloc avec IRowsetFastLoad (OLE DB) et Envoyer des données BLOB vers SQL Server en utilisant IROWSETFASTLOAD et ISEQUENTIALSTREAM (OLE DB).

Syntaxe

  
HRESULT InsertRow(  
HACCESSOR  
hAccessor  
,  
void*  
pData  
);  
  

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, liant la mémoire dont le consommateur est propriétaire et qui contient les valeurs des données.

pData[in]
Pointeur vers la mémoire dont le consommateur est propriétaire et qui contient les valeurs des données. Pour plus d'informations, consultez Structures DBBINDING.

Codet de retour

S_OK
S_OK Les valeurs d'état liées de toutes les colonnes ont la valeur DBSTATUS_S_OK ou DBSTATUS_S_NULL.

E_FAIL
Une erreur est survenue. Les informations sur l'erreur sont disponibles depuis les interfaces d'erreur de l'ensemble de lignes.

E_INVALIDARG
L'argument pData a été défini sur un pointeur NULL.

E_OUTOFMEMORY
SQLNCLI11 ne pouvait pas allouer la mémoire suffisante pour compléter la demande.

E_UNEXPECTED
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 une mémoire dont le consommateur était propriétaire.

Notes

Une erreur lors de la conversion des données du consommateur en type de données SQL Server pour une colonne entraîne un retour E_FAIL à partir du fournisseur OLE DB SQL Server Native Client. Les données peuvent être transmises à SQL Server sur n’importe quelle méthode InsertRow ou seulement sur la méthode Commit. L'application du consommateur peut appeler la méthode InsertRow plusieurs fois avec des données erronées avant de recevoir le message qu'une erreur de conversion de type de données s'est produite. Comme la méthode Commit garantit que toutes les données sont spécifiées correctement par le consommateur, celui-ci peut utiliser la méthode Commit de façon appropriée pour valider les données comme nécessaire.

Les SQL Server Native Client ensembles de lignes de copie en bloc du fournisseur OLE DB sont en écriture seule. Le fournisseur OLE DB SQL Server Native Client n’expose aucune méthode autorisant la requête du consommateur de l’ensemble de lignes. Pour terminer le traitement, le consommateur peut libérer sa référence sur l’interface IRowsetFastLoad sans appeler la méthode Commit. Il n'existe pas d'utilitaires permettant 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 les options qui ont pu être définies pour la connexion ou la session, telles que ANSI_PADDING. Cette option est activée par défaut pour toute connexion effectuée via le fournisseur OLE DB SQL Server Native Client.

Voir aussi

IRowsetFastLoad (OLE DB)