What does HRESULT 0x80040E23 (DB_E_DELETEDROW) mean?

 
Previous Next
DB_E_NOAGGREGATION DB_E_CANTFETCHBACKWARDS

DB_E_DELETEDROW

Meaning

Windows documents DB_E_DELETEDROW as “Row handle referred to a deleted row or a row marked for deletion”. Here, an HROW identifies a row that has been deleted or marked for deletion.

Relevant OLE DB contract

This result must be interpreted against this contract: OLE DB rowsets own HROW values, fetch position, granted properties and visibility rules; row handles, bookmarks, update state and navigation capabilities remain valid only under the lifetime and generation that produced them.

Start with the current rowset instance, its granted properties and the exact row or position token used by the consumer when investigating this result.

Specific conditions that produce the result

  • Cause 1: the consumer calls GetData after deleting the row.
  • Cause 2: another actor deleted the row and the dynamic rowset exposed the change.
  • Cause 3: deferred-update state marks the row deleted before transmission.

Evidence to collect before changing the system

  • Evidence 1: the HROW and rowset generation.
  • Evidence 2: delete, notification and resynchronization events.
  • Evidence 3: pending-change status and transaction visibility.

Corrective actions

  • Action 1: stop using the row handle once deletion is observed.
  • Action 2: refresh or refetch the rowset when external deletes are expected.
  • Action 3: preserve delete state in the UI instead of treating the row as a generic invalid handle.

Retry and recovery policy

Retry rule: retry only by locating a surviving row or undoing a pending deletion when the provider supports it.

Practical incident

A grid keeps a selected HROW after the user deletes that row and later requests its values; clearing the selection on the delete notification avoids it.

Difference from related HRESULT values

DB_E_BADROWHANDLE means the handle is invalid for the rowset, while DB_E_DELETEDROW means it refers to a known row that is deleted or pending deletion.

Official Microsoft references


Looking for a different code? Search another status or error code.