| Previous | Next |
| DB_S_BADROWHANDLE | DB_S_TOOMANYCHANGES |
DB_S_DELETEDROW
OLE DB row handle refers to a deleted row
DB_S_DELETEDROW is HRESULT 265940 (0x00040ED4) from Microsoft OLE DB. The documented description is “Row handle referred to a deleted row.” The high-order severity bit is clear, so this is a success result, but it carries more information than plain S_OK.
The HROW was recognized, but the row it represented has been deleted and normal row data is no longer available.
Where the result is encountered
- This result can appear in dynamic rowsets; record the producing interface and method.
- This result can appear in concurrent database changes; record the producing interface and method.
- It can appear in delayed processing of held row handles; record the producing interface and method.
Diagnostic sequence
- Capture the raw HRESULT
0x00040ED4immediately after the returning method and record whether the caller usedSUCCEEDED,FAILED, equality testing, or exception translation. - Verify the method-specific state: the consumer reconciles the deletion with its local cache and does not treat stale column data as current.
State to verify
The central question is whether the consumer reconciles the deletion with its local cache and does not treat stale column data as current.
Correct handling, retry, and recovery
Remove or tombstone the local row, resolve pending changes according to conflict policy, and reacquire only if a row with the same business key is recreated.
Evidence to preserve
- Preserve row key or bookmark.
- Preserve HROW and rowset identity.
- Preserve delete notification or transaction.
- Preserve pending local edits.
- Preserve per-row status from the failing method.
Difference from nearby HRESULT values
DB_S_BOOKMARKSKIPPED concerns a bookmark during navigation; it concerns an HROW whose row was deleted.
Developer and administrator guidance
Practical validation scenario
A grid holds an HROW while another session deletes the record. On refresh it receives it, removes the row from view, and preserves the user’s unsaved edit as a conflict record.
References
Looking for a different code? Search another status or error code.