Site icon EfmSoft

Что означает код HRESULT 0x80040E2B (DB_E_NONCONTIGUOUSRANGE)?

 
Предыдущий Следующий
DB_E_BADREGIONHANDLE DB_E_INVALIDTRANSITION

DB_E_NONCONTIGUOUSRANGE

Что означает результат

DB_E_NONCONTIGUOUSRANGE: OLE DB получил диапазон строк, который не образует допустимый непрерывный участок для запрошенной операции. Ошибка относится к границам/row handles этого range, а не к общему повреждению rowset.

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

  • Запишите оба граничных row handles и порядок строк в текущем rowset/view.
  • Проверьте, что строки принадлежат одному rowset и между ними нет разрыва, исключённого текущим filter/view.
  • Если используется IViewFilter или уведомления о диапазоне, сверяйте границы после последнего sort/filter change.
  • Не переиспользуйте stale HROW после обновления/пересоздания rowset.

Диагностика и исправление

Сформируйте диапазон из актуальных смежных строк текущего view. Повтор с теми же stale или несвязанными HROW закономерно вернёт DB_E_NONCONTIGUOUSRANGE.

Документация для результата 0x80040E2B: IViewFilter · IRowsetFind::FindNextRow · OLE DB rowsets.


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

Exit mobile version