IRowsetFastLoad::Commit (OLE DB)
Marks the end of a batch of inserted rows and writes the rows to the SQL Server table.
Syntax
HRESULT Commit(
BOOL fDone);
Arguments
- fDone[in]
If FALSE, the rowset maintains validity and can be used by the consumer for additional row insertion. If TRUE, the rowset loses validity and no further insertion can be done by the consumer.
Return Code Values
- S_OK
The method succeeded and all inserted data has been written to the SQL Server table.
- E_FAIL
A provider-specific error occurred. Retrieve error information for the specific error text from the provider.
- E_UNEXPECTED
The method was called on a bulk copy rowset previously invalidated by the IRowsetFastLoad::Commit method.
Remarks
A SQL Native Client OLE DB provider bulk copy rowset behaves as a delayed-update mode rowset. As the user inserts row data through the rowset, inserted rows are treated in the same fashion as pending inserts on a rowset supporting IRowsetUpdate.
The consumer must call the Commit method on the bulk copy rowset to write inserted rows to the SQL Server table in the same way as the IRowsetUpdate::Update method is used to submit pending rows to an instance of SQL Server.
If the consumer releases its reference on the bulk copy rowset without calling the Commit method, all inserted rows not previously written are lost.
The consumer can batch inserted rows by calling the Commit method with the fDone argument set to FALSE. When fDoneis set to TRUE, the rowset becomes invalid. An invalid bulk copy rowset supports only the ISupportErrorInfo interface and IRowsetFastLoad::Release method.