IRowsetFastLoad::Commit (OLE DB)
標示已插入之資料列批次的結尾,並將資料列寫入 SQL Server 資料表。
語法
HRESULT Commit(
BOOL fDone);
引數
- fDone[in]
如果為 FALSE,此資料列集就會維持有效性,而且可供取用者用於其他資料列插入作業。如果為 TRUE,此資料列集就會喪失有效性,而且取用者無法完成其他插入作業。
傳回碼值
S_OK
此方法已成功,而且所有插入的資料都已經寫入 SQL Server 資料表中。E_FAIL
發生了提供者特有的錯誤。請從提供者中擷取特定錯誤文字的錯誤資訊。E_UNEXPECTED
這個方法是在先前已藉由 IRowsetFastLoad::Commit 方法設為無效之大量複製資料列集上呼叫。
備註
SQL Server Native Client OLE DB 提供者大量複製資料列集的行為就如同延遲更新模式的資料列集。因為使用者會透過資料列集插入資料列的資料,所以插入的資料列會以相同的方式被視為支援 IRowsetUpdate 之資料列集上的暫止插入。
取用者必須針對大量複製資料列集呼叫 Commit 方法,才能將插入的資料列寫入 SQL Server 資料表中,其方式就如同使用 IRowsetUpdate::Update 方法,將暫止資料列提交給 SQL Server 執行個體。
如果取用者釋放大量複製資料列集的參考,而沒有呼叫 Commit 方法,所有先前並未寫入的已插入資料列都會遺失。
取用者可以呼叫 Commit 方法,並將 fDone 引數設定為 FALSE,藉以批次處理插入的資料列。當 fDone 設定為 TRUE 時,此資料列集就會成為無效。無效的大量複製資料列集僅支援 ISupportErrorInfo 介面和 IRowsetFastLoad::Release 方法。