DBROWSTATUS Enumerated Type (OLE DB)

Providers use DBROWSTATUS values to return information about the status of a row and whether an operation succeeds or fails for each row in the rowset.

The values of DBROWSTATUS have the following meanings.

Value

Description

DBROWSTATUS_S_OK

The operation upon the row succeeded.

DBROWSTATUS_S_MULTIPLECHANGES

Occurs when updating or deleting a single row caused more than one row to be updated or deleted in the data store. For more information, see DBPROP_REPORTMULTIPLECHANGES in "Rowset Properties" in Appendix C.

DBROWSTATUS_S_PENDINGCHANGES

Can occur after a consumer has called IRowset::ReleaseRows, and the row had a pending change. The row will be released, and the corresponding element of rgRowStatus will contain this value.

DBROWSTATUS_S_ROWSETCOLUMN

IRowSchemaChange::DeleteColumns may return this row status when asked to delete a rowset column from a row. The value is actually nulled, but the column remains in the row and rowset.

DBROWSTATUS_S_NOCHANGE

The operation upon the row was successful, but no changes were made.

DBROWSTATUS_E_CANCELED

Operation on a row was canceled during notification. The row operation was not completed, and the corresponding row status contains this value.

DBROWSTATUS_E_CANTRELEASE

The operation upon the row failed because the row could not be released.

DBROWSTATUS_E_CONCURRENCYVIOLATION

The operation upon the row failed because of a concurrency violation.

DBROWSTATUS_E_DELETED

Consumer referred to a row for which a deletion had been transmitted to the data source, and requested operation could not be completed. Under these circumstances, the status for the corresponding row contains this value.

DBROWSTATUS_E_PENDINGINSERT

Rowset is in deferred update mode. Consumer inserted a new row, and then tried to resynch with datasource. The newly inserted row was not yet transmitted to datasource, so, the requested operation failed.

DBROWSTATUS_E_NEWLYINSERTED

If the DBPROP_CHANGEINSERTEDROWS is set to false and consumer calls IRowsetChange::DeleteRows or IRowsetChange::SetData for newly inserted rows, DeleteRows returns a status of DBROWSTATUS_E_NEWLYINSERTED for the row and SetData returns DB_E_NEWLYINSERTED.

DBROWSTATUS_E_INTEGRITYVIOLATION

Occurs when the provider recognizes that deleting a referred row violates the integrity constraints for the column or table.

DBROWSTATUS_E_INVALID

Row handle or bookmark was invalid. Operation for the row failed. This can happen because either the consumer used a row handle or bookmark that was not valid or it might have referred to a row that the current thread does not have access to. Under these circumstances, the status for the corresponding row contains this value.

DBROWSTATUS_E_MAXPENDCHANGESEXCEEDED

The operation upon the row failed because the maximum number of pending changes was exceeded.

DBROWSTATUS_E_OBJECTOPEN

Consumer referred to a row on which a storage object was open, and the operation is not allowed until storage object is released. For example, when rowset is in deferred update mode, the consumer cannot undo any pending changes made through storage object that is still open.

DBROWSTATUS_E_OUTOFMEMORY

The rowset ran out of memory and was unable to perform operation for the row.

DBROWSTATUS_E_PERMISSIONDENIED

The consumer did not have sufficient permission to perform operation for the row.

DBROWSTATUS_E_LIMITREACHED

The row was not fetched for the following reason: Fetching rows required further execution of the command, such as when the rowset uses a server-side cursor. Execution has been stopped and cannot be resumed because a resource limit has been reached. Under these circumstances, the status for the corresponding row contains this value.

DBROWSTATUS_E_SCHEMAVIOLATION

The operation upon the row failed because of a schema violation.

DBROWSTATUS_E_FAIL

The consumer encountered a recoverable, provider-specific error, such as an RPC failure when transmitting the change to a remote server. Under these circumstances, the status for the corresponding row contains this value.

This topic is a part of: