Compartilhar via


IRowsetFastLoad::Commit (OLE DB)

Marca o término de um lote de linhas inseridas e escreve as linhas na tabela SQL Server.

Sintaxe

HRESULT Commit(
      BOOL fDone);

Argumentos

  • fDone[in]
    Caso seja FALSE, o conjunto de linhas mantém validade, podendo ser usado pelo consumidor na inserção de linha adicional. Caso seja TRUE, o conjunto de linhas perde validade e nenhuma inserção adicional pode ser feita pelo consumidor.

Valores de código de retorno

  • S_OK
    O método teve êxito e todos os dados inseridos foram escritos na tabela SQL Server.

  • E_FAIL
    Ocorreu um erro específico de provedor. Recupere informações de erro para o texto de erro específico do provedor.

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

Comentários

Um conjunto de linhas da cópia em massa do provedor OLE DB do SQL Server se comporta como um conjunto de linhas no modo de atualização com atraso. Na medida em que o usuário insere dados de linha no conjunto de linhas, as linhas inseridas são tratadas da mesma forma como inserções pendentes em um IRowsetUpdate para o qual há suporte.

O consumidor deve chamar o método Commit no conjunto de linhas de cópia em massa para gravar as linhas inseridas na tabela SQL Server da mesma forma que o método IRowsetUpdate::Update é usado para enviar linhas pendentes para uma instância do SQL Server.

Caso o consumidor libere a referência no conjunto de linhas de cópia em massa sem chamar o método Commit, todas as linhas inseridas não gravadas previamente são perdidas.

O consumidor pode processar em lotes linhas insertas, chamando o método Commit com o argumento fDone definido como FALSE. Quando fDone é definido como TRUE, o conjunto de linhas permanece inválido. Um conjunto de linhas de cópia em massa inválido oferece suporte apenas à interface ISupportErrorInfo e ao método IRowsetFastLoad::Release.

Consulte também

Outros recursos