Поделиться через


Функция JetGotoPosition

Применимо к: Windows | Windows Server

Функция JetGotoPosition

Функция JetGotoPosition перемещает курсор в новое расположение, которое является частью пути по текущему индексу. Дробь примерно равна следующей:

precpos-centriesLT>/precpos-centriesTotal>

Эта операция выполняется в ответ на входные данные, введенные пользователем в поле прокрутки, которые поступают, когда пользователь пытается показать данные, которые начинаются частично через набор данных.

    JET_ERR JET_API JetGotoPosition(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in          JET_RECPOS* precpos
    );

Параметры

sesid

Сеанс, используемый для этого вызова.

tableid

Курсор, используемый для этого вызова.

precpos

Описание дроби, используемой для размещения курсора в текущем индексе.

Возвращаемое значение

Эта функция возвращает тип данных JET_ERR с одним из следующих кодов возврата. Дополнительные сведения о возможных ошибках ESE см. в разделах Ошибки подсистемы расширяемого хранилища и Параметры обработки ошибок.

Код возврата

Описание

JET_errSuccess

Операция выполнена успешно.

JET_errClientRequestToStopJetService

Не удалось завершить операцию, так как все действия экземпляра, связанного с сеансом, прекратились в результате вызова JetStopService.

JET_errInstanceUnavailable

Не удалось завершить операцию, так как экземпляр, связанный с сеансом, столкнулся с неустранимой ошибкой, требующей отмены доступа ко всем данным для защиты целостности этих данных.

Windows XP: Это возвращаемое значение появилось в Windows XP.

JET_errInvalidParameter

Заданный precpos-cbStruct> не является допустимым размером для структуры JET_RECPOS , или precpos-centriesLT> больше, чем precpos-centriesTotal>.

JET_errNotInitialized

Операция не может завершиться, так как экземпляр, связанный с сеансом, еще не инициализирован.

JET_errRecordNotFound

Эта ошибка будет возвращена, если индекс пуст.

JET_errRestoreInProgress

Операция не может завершиться, так как выполняется операция восстановления на экземпляре, связанном с сеансом.

JET_errSessionSharingViolation

Один и тот же сеанс нельзя использовать одновременно для нескольких потоков.

Windows XP: Это возвращаемое значение появилось в Windows XP.

JET_errTermInProgress

Операция не может завершиться, так как экземпляр, связанный с сеансом, завершает работу.

Если эта функция выполняется успешно, курсор перемещается в текущую запись, которая является частью пути через индекс, где доля precpos-centriesLT> делится на precpos-centriesTotal>.

Если эта функция завершается сбоем, расположение курсора остается без изменений.

Комментарии

Эта операция перемещает курсор через таблицу в положение в следующей приблизительной точке: precpos-centriesLT> разделено на precpos-centriesTotal>.

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

JET_RECPOS не следует использовать для описания записи в таблице или для перемещения записи рядом с существующей записью. Вместо этого закладки для существующей записи должны быть получены после начального jetGotoPosition , а затем использоваться для изменения положения той же записи.

Требования

Требование Значение

Клиент

Требуется Windows Vista, Windows XP или Windows 2000 Профессиональная.

Сервер

Требуется Windows Server 2008, Windows Server 2003 или Windows 2000 Server.

Верхняя часть

Объявлено в Esent.h.

Библиотека

Используйте ESENT.lib.

DLL

Требуется ESENT.dll.

См. также:

JET_COLUMNID
JET_ERR
JET_SESID
JET_TABLEID
JET_RECPOS
JET_SETINFO