Partilhar via


IRowsetFastLoad::InsertRow (OLE DB)

Adiciona uma linha ao conjunto de linhas de cópia em massa. Para obter exemplos, consulte Copiar dados em massa usando IRowsetFastLoad (OLE DB) e enviar dados blob para o SQL SERVER usando IROWSETFASTLOAD e ISEQUENTIALSTREAM (OLE DB).

Sintaxe

  
HRESULT InsertRow(  
HACCESSOR  
hAccessor  
,  
void*  
pData  
);  
  

Argumentos

hAccessor[in]
O identificador do acessador que define os dados de linha para cópia em massa. O acessador referenciado é um acessador de linha, associando memória de propriedade do consumidor que contém valores de dados.

pData[in]
Um ponteiro para a memória de propriedade do consumidor que contém valores de dados. Para obter mais informações, consulte Estruturas DBBINDING.

Valores do código de retorno

S_OK
O método foi bem-sucedido. Todos os valores de status associados para todas as colunas têm valor DBSTATUS_S_OK ou DBSTATUS_S_NULL.

E_FAIL
Ocorreu um erro. As informações de erro estão disponíveis nas interfaces de erro do conjunto de linhas.

E_INVALIDARG
O argumento pData foi definido como um ponteiro NULL.

E_OUTOFMEMORY
SQLNCLI11 não foi possível alocar memória suficiente para concluir a solicitação.

E_UNEXPECTED
O método foi chamado em um conjunto de linhas de cópia em massa invalidado anteriormente pelo método IRowsetFastLoad::Commit .

DB_E_BADACCESSORHANDLE
O argumento hAccessor fornecido pelo consumidor era inválido.

DB_E_BADACCESSORTYPE
O acessador especificado não era um acessador de linha ou não especificava memória de propriedade do consumidor.

Observações

Um erro ao converter dados do consumidor no tipo de dados do SQL Server para uma coluna faz com que um E_FAIL retorne do provedor OLE DB do SQL Server Native Client. Os dados podem ser transmitidos para o SQL Server em qualquer método InsertRow ou apenas no método Commit . O aplicativo de consumidor pode chamar o método InsertRow muitas vezes com dados incorretos antes de receber o aviso de que existe um erro de conversão de tipo de dados. Como o método Commit garante que todos os dados sejam especificados corretamente pelo consumidor, o consumidor pode usar o método Commit adequadamente para validar os dados conforme necessário.

Os conjuntos de linhas de cópia em massa do provedor OLE DB do SQL Server Native Client são somente gravação. O provedor OLE DB do SQL Server Native Client não expõe nenhum método que permita a consulta do consumidor do conjunto de linhas. Para encerrar o processamento, o consumidor pode lançar sua referência na interface IRowsetFastLoad sem chamar o método Commit . Não há recursos para acessar uma linha inserida pelo consumidor no conjunto de linhas e alterar seus valores ou removê-la individualmente do conjunto de linhas.

As linhas copiadas em massa são formatadas no servidor do SQL Server. O formato de linha é afetado por todas as opções que podem ter sido definidas para a conexão ou sessão, como ANSI_PADDING. Essa opção é definida por padrão para qualquer conexão feita por meio do provedor OLE DB do SQL Server Native Client.

Consulte Também

IRowsetFastLoad (OLE DB)