Partilhar via


ISSAbort::Abort (OLE DB)

Cancela o conjunto de linhas atual, além de todos os comandos em lote associados ao comando atual.

Sintaxe

  
HRESULT Abort(void);  

Comentários

Se o comando que está sendo anulado está em um procedimento armazenado, a execução deste (e de quaisquer procedimentos armazenados que chamaram esse procedimento) será encerrada, bem como o lote de comandos que contém a chamada de procedimento armazenado. Se o servidor estiver no processo de transferir um conjunto de resultados para o cliente, ele será interrompido. Se o cliente não desejar consumir um conjunto de resultados, chamar ISSAbort::Abort antes de liberar o conjunto de linhas agilizará a liberação do conjunto de resultados, mas se houver uma transação aberta e XACT_ABORT estiver ON, a transação será revertida quando ISSAbort::Abort for chamado.

Depois que ISSAbort::Abort retornar S_OK, a interface IMultipleResults associada entrará em um estado inutilizável e retornará DB_E_CANCELED para todas as chamadas de método (com exceção dos métodos definidos pela interface IUnknown ) até que seja liberada. Se um IRowset foi obtido de IMultipleResults antes de uma chamada para Abort, também entrará em um estado inutilizável e retornará DB_E_CANCELED para todas as chamadas de método (com exceção dos métodos definidos pela interface IUnknown e IRowset::ReleaseRows) até que seja liberado após uma chamada bem-sucedida para ISSAbort::Abort.

Observação

A partir do SQL Server 2005, se o servidor XACT_ABORT estado estiver ATIVADO, a execução de ISSAbort::Abort terminará e reverterá qualquer transação implícita ou explícita atual quando conectada a SQL Server. Versões anteriores do SQL Server não anularão a transação atual.

Argumentos

Nenhum.

Valores do código de retorno

S_OK
O método ISSAbort::Abort retorna S_OK se o lote foi cancelado e DB_E_CANTCANCEL em caso contrário. Se o lote já foi cancelado, DB_E_CANCELED será retornado.

DB_E_CANCELED
O lote já foi cancelado.

DB_E_CANTCANCEL
O lote não foi cancelado.

E_FAIL
Ocorreu um erro específico do provedor; para obter informações detalhadas, use a interface ISQLServerErrorInfo .

E_UNEXPECTED
A chamada para o método era inesperada. Por exemplo, o objeto está em um estado de zumbi porque ISSAbort::Abort já foi chamado.

E_OUTOFMEMORY
Erro de memória insuficiente.

Consulte Também

ISSAbort (OLE DB)