IRowsetFastLoad::Commit (OLE DB)

标记一批插入行的末尾,并将行写入 SQL Server 表。 有关示例,请参阅 使用 IRowsetFastLoad(OLE DB)批量复制数据并使用 IROWSETFASTLOAD 和 ISEQUENTIALSTREAM (OLE DB)将 BLOB 数据发送到 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 方法,以便以与 IRowsetUpdate::Update 方法相同的方式将插入的行写入 SQL Server 表,以便将挂起的行提交到 SQL Server 实例。

如果使用者在不调用 Commit 方法的情况下释放对大容量复制行集的引用,则之前未写入的所有插入行都将丢失。

使用者可以通过调用将 fDone 参数设置为 FALSE 的 Commit 方法批处理插入的行。 当 fDone设置为 TRUE 时,行集将变为无效。 无效的大容量复制行集仅支持 ISupportErrorInfo 接口和 IRowsetFastLoad::Release 方法。

另请参阅

IRowsetFastLoad (OLE DB)