Site icon EfmSoft

Что означает код HRESULT 0xC8000643 (hrNoCurrentRecord)?

 
Предыдущий Следующий
hrRecordNotFound hrRecordClusteredChanged

hrNoCurrentRecord

Что означает hrNoCurrentRecord

hrNoCurrentRecord (0xC8000643) — старый HRESULT-вариант состояния ESE/ESENT, при котором cursor не установлен на current record. Это отличается от неуспешного поиска записи: lookup мог завершиться ранее, а ошибка возникает сейчас, когда следующая операция требует действующую cursor position.

Что проверить

  • Сохраните последнюю navigation/seek operation, её return code, table/index и bookmark перед failing call.
  • Проверьте состояния before-first/after-last и последовательность JetMove, JetSeek, delete/update операций, после которых текущая запись могла исчезнуть.
  • При concurrency учитывайте invalidation позиции: сохранённый cursor state нельзя считать вечным после изменения table/index или rollback.

Как действовать

Перед retrieve/update явно позиционируйте cursor на существующей записи и проверяйте результат navigation call. Если позиция могла устареть, выполните новый seek/goto по валидному bookmark. Повтор record operation без восстановления current record state закономерно вернёт тот же результат.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.

Exit mobile version