Что означает код HRESULT 0x80040E23 (DB_E_DELETEDROW)?

 
Предыдущий Следующий
DB_E_NOAGGREGATION DB_E_CANTFETCHBACKWARDS

DB_E_DELETEDROW

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

DB_E_DELETEDROW означает, что сохранённый дескриптор строки больше нельзя использовать: строка уже удалена либо находится в состоянии pending delete.

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

  • Найдите момент удаления этой строки и соответствующий HROW.
  • Проверьте, не хранит ли consumer устаревший дескриптор после refresh/delete.
  • После изменения rowset получайте новые дескрипторы, а не переиспользуйте старые.
  • Сохраните первый IErrorRecords provider до повторной операции.

Повторный fetch по старому HROW не восстанавливает строку. Если данные нужны снова, найдите объект по актуальному ключу и получите новый дескриптор из текущего rowset.

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


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