Что означает код HRESULT 0x80040E5B (DB_E_PENDINGINSERT)?

 
Предыдущий Следующий
DB_E_BADDYNAMICERRORID DB_E_BADCONVERTFLAG

DB_E_PENDINGINSERT

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

DB_E_PENDINGINSERT (0x80040E5B) — Не удалось получить актуальные данные недавно вставленной строки, поскольку вставка ещё не завершена.

Ключевая проверка. Проверьте pending insert именно этой строки. Сохраните HROW/HCHAPTER до операции. Сверьте rowset properties с navigation request. Проверьте lifetime полученного дескриптора. Не переносите handles между rowset objects. Сохраните первый IErrorRecords от provider. Повторите тот же fetch/navigation method.

Недавно вставленная строка ещё не достигла состояния, в котором provider может вернуть актуальные данные. Завершите pending insert/update batch и только после этого перечитывайте generated/default values. Старый HROW до commit может не отражать окончательную identity строки.

Документация для результата 0x80040E5B: IRowsetUpdate · deferred-update row states · IRowsetChange::InsertRow.


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