共用方式為


ISSAbort::Abort (OLE DB)

取消目前的數據列集加上與目前命令相關聯的任何批次命令。

語法

  
HRESULT Abort(void);  

備註

如果中止的命令位於預存程式中,則會終止預存程式(以及呼叫該程式的任何程式),以及包含預存程式呼叫的命令批次。 如果伺服器正在將結果集傳送至用戶端,將會停止此動作。 如果用戶端不想取用結果集,在釋放數據列集之前呼叫 ISSAbort::Abort 將會加速數據列集發行,但如果有開啟的交易且XACT_ABORT為 ON,則會在呼叫 ISSAbort::Abort 時回復交易

在 ISSAbort::Abort 傳回S_OK之後,相關聯的 IMultipleResults 介面會進入無法使用的狀態,並將DB_E_CANCELED傳回至所有方法呼叫(除了 IUnknown 介面所定義的方法除外),直到釋放為止。 如果在呼叫 Abort 之前已從 IMultipleResults 取得 IRowset,它也會進入無法使用的狀態,並將DB_E_CANCELED傳回所有方法呼叫(除了 IUnknown 介面和 IRowset::ReleaseRows 所定義的方法除外),直到成功呼叫 ISSAbort::Abort 之後才釋放它。

備註

從 SQL Server 2005 開始,如果伺服器XACT_ABORT狀態為 ON,執行 ISSAbort::Abort 會在連線到 SQL Server 時終止並回復任何目前的隱含或明確交易。 舊版的 SQL Server 將不會中止目前的交易。

論點

沒有。

傳回碼值

S_OK
如果批次已取消且 DB_E_CANTCANCEL,ISSAbort::Abort 方法會傳回S_OK。 如果批次已經取消,則會傳回DB_E_CANCELED。

DB_E_CANCELED
批次已經取消。

DB_E_CANTCANCEL
批次未取消。

E_FAIL
發生提供者特定錯誤;如需詳細資訊,請使用 ISQLServerErrorInfo 介面。

E_UNEXPECTED
此方法的呼叫是非預期的。 例如,對象處於殭屍狀態,因為已呼叫 ISSAbort::Abort

E_OUTOFMEMORY 記憶體不足
記憶體不足錯誤。

另請參閱

ISSAbort (OLE DB)