Partager via


IRowsetFastLoad::InsertRow (OLE DB)

Ajoute une ligne à l'ensemble de lignes de copie en bloc.

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.

Valeurs de code de retour

  • S_OK
    La méthode a réussi. Les valeurs d'état liées de toutes les colonnes ont la valeur DBSTATUS_S_OK ou DBSTATUS_S_NULL.

  • E_FAIL
    Une erreur s'est produite. 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
    SQLNCLI10 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 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 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 ensembles de lignes de la 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 qui autorise l'interrogation de l'ensemble de lignes par le consommateur. 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 établie à travers le fournisseur OLE DB SQL Server Native Client.

Voir aussi

Autres ressources