Функция 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