| Предыдущий | Следующий |
| 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.
Нужно найти другой код? Найти другой код состояния или ошибки.
