| Предыдущий | Следующий |
| DB_E_CANTFETCHBACKWARDS | DB_E_BADSTORAGEFLAG |
DB_E_ROWSNOTRELEASED
Что означает DB_E_ROWSNOTRELEASED
DB_E_ROWSNOTRELEASED означает, что у rowset остаются выданные ранее дескрипторы строк, а provider не разрешает продолжить fetch/restart до их освобождения.
Что проверить
- Проверьте все пути вызова
ReleaseRows. - Особенно внимательно проверьте early return и обработку исключений.
- Не переносите HROW в долгоживущие контейнеры без явного владения.
- Сопоставьте число полученных и освобождённых строк.
Один забытый дескриптор может блокировать следующую выборку. Исправление — выстроить однозначный жизненный цикл HROW и освобождать строки до перехода к операции, которая требует чистого rowset.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.