IRowsetFastLoad::Commit (OLE DB)
Marca o término de um lote de linhas inseridas e escreve as linhas na tabela SQL Server . Para obter exemplos, confira Copiar Dados em massa usando IRowsetFastLoad (OLE DB) e Enviar dados de blob para o SQL Server usando IROWSETFASTLOAD e ISEQUENTIALSTREAM (OLE DB).
Sintaxe
HRESULT Commit(
BOOL
fDone
);
Argumentos
fDone[in]
Se FALSE, o conjunto de linhas manterá validade e poderá ser usado pelo consumidor para 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 do 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 de cópia em massa do provedor OLE DB SQL Server Native Client se comporta como um conjunto de linhas de modo de atualização atrasada. Conforme o usuário insere dados de linha pelo conjunto de linhas, as linhas inseridas são tratadas da mesma forma que as inserções pendentes em um conjunto de linhas que dá suporte a IRowsetUpdate.
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 serão perdidas.
O consumidor pode processar em lotes as linhas inseridas chamando o método Commit com o argumento fDone definido como FALSE. Quando fDone é definido como TRUE, o conjunto de linhas se torna inválido. Um conjunto de linhas de cópia em massa inválido dá suporte apenas à interface ISupportErrorInfo e ao método IRowsetFastLoad::Release.