Site icon EfmSoft

What does HRESULT 0xC8000643 (hrNoCurrentRecord) mean?

 
Previous Next
hrRecordNotFound hrRecordClusteredChanged

hrNoCurrentRecord

Locate the failure in the Jet call chain

hrNoCurrentRecord means the cursor is before-first, after-last, on a deleted row, or otherwise not positioned on a record.

This is the legacy Directory Service backup/restore HRESULT form of JET_errNoCurrentRecord (0xC8000643).

The key comparison is: hrRecordNotFound describes a failed lookup; this code describes a later operation on an unpositioned cursor. The first useful observation is to capture the preceding move/seek result, current index, range state, and concurrent deletion. This evidence distinguishes failed lookup, lost cursor currency, deleted rows, invalid bookmarks, and prepared-update state.

The ESE objects in play

Diagnostic layercursor currency, bookmarks, prepared updates, and row lifecycle
Typical API surfaceJetMove, JetSeek, JetGetBookmark, JetGotoBookmark, JetPrepareUpdate, JetUpdate, and JetDelete
Code-specific conditionthe cursor is before-first, after-last, on a deleted row, or otherwise not positioned on a record
First corrective directioncheck navigation results before retrieving or updating and reseek when concurrency invalidates currency

Preparing an update creates cursor state that must be completed or cancelled deliberately. Cursor currency can be invalidated by navigation, deletion, rollback, or concurrent changes.

Questions the logs must answer

Response and verification

  1. Freeze the failing request context and record 0xC8000643, the Jet API name, and the current instance/session ownership.
  2. Verify the code-specific precondition: capture the preceding move/seek result, current index, range state, and concurrent deletion.
  3. Apply the targeted fix: check navigation results before retrieving or updating and reseek when concurrency invalidates currency.
  4. Before retrying the operation, reconcile cursor currency, row existence, bookmark validity, and prepared-update cleanup.

Distinguishing signals

hrInvalidBookmarka bookmark cannot be interpreted for the current table and index context
hrRecordClusteredChangedan update attempted to change a clustered key in a way the engine cannot apply in place
hrAlreadyPreparedthe cursor already has a prepared update/copy state and received another incompatible prepare request

Actions that can hide or worsen the problem

Technical references


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

Exit mobile version