Что означает код HRESULT 0x80040E42 (DB_E_BADRECORDNUM)?

 
Предыдущий Следующий
DB_E_NOLOCALE DB_E_BOOKMARKSKIPPED

DB_E_BADRECORDNUM

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

DB_E_BADRECORDNUM означает, что операция OLE DB обращается к записи по номеру, который provider не может сопоставить с существующей строкой или элементом текущего набора.

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

  • Зафиксируйте номер записи и размер/границы rowset непосредственно перед вызовом.
  • Проверьте, не изменился ли набор после refresh, delete или повторного выполнения команды.
  • Не смешивайте ordinal/index из одного объекта с другим rowset.
  • Проверьте off-by-one и преобразование signed/unsigned значений.

Получайте позицию из актуального состояния provider и проверяйте границы перед обращением. Повтор со старым номером после изменения набора ненадёжен.

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


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