Функция JetGotoSecondaryIndexBookmark
Применимо к: Windows | Windows Server
Функция JetGotoSecondaryIndexBookmark
Функция JetGotoSecondaryIndexBookmark помещает курсор в запись индекса, связанную с указанной закладкой вторичного индекса. Закладка вторичного индекса должна использоваться с тем же индексом в той же таблице, из которой она была первоначально получена. Закладку вторичного индекса для записи индекса можно получить с помощью JetGotoSecondaryIndexBookmark.
Windows XP:JetGotoSecondaryIndexBookmark представлена в Windows XP.
JET_ERR JET_API JetGotoSecondaryIndexBookmark(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in void* pvSecondaryKey,
__in unsigned long cbSecondaryKey,
__in_opt void* pvPrimaryBookmark,
__in unsigned long cbPrimaryBookmark,
__in const JET_GRBIT grbit
);
Параметры
sesid
Сеанс, используемый для этого вызова.
tableid
Курсор, используемый для этого вызова.
pvSecondaryKey
Буфер, содержащий вторичный ключ, используемый для размещения курсора.
cbSecondaryKey
Размер вторичного ключа в буфере.
pvPrimaryBookmark
Буфер, содержащий закладку первичного ключа, используемую для размещения курсора.
cbPrimaryBookmark
Размер закладки первичного ключа в буфере.
grbit
Группа битов, задающая ноль или несколько следующих параметров.
Значение |
Значение |
---|---|
JET_bitBookmarkPermitVirtualCurrency |
В случае, если запись индекса больше не удается найти, курсор будет оставить там, где эта запись индекса была найдена ранее. Операция по-прежнему завершится сбоем с JET_errRecordDeleted; однако можно будет перейти к следующей или предыдущей записи индекса относительно записи индекса, которая в настоящее время отсутствует. |
Возвращаемое значение
Эта функция возвращает тип данных JET_ERR с одним из следующих кодов возврата. Дополнительные сведения о возможных ошибках ESE см. в разделах Ошибки подсистемы расширяемого хранилища и Параметры обработки ошибок.
Код возврата |
Описание |
---|---|
JET_errSuccess |
Операция выполнена успешно. |
JET_errClientRequestToStopJetService |
Операция не может завершиться, так как все действия на экземпляре, связанном с сеансом, прекратились в результате вызова JetStopService. |
JET_errInstanceUnavailable |
Операция не может завершиться, так как экземпляр, связанный с сеансом, столкнулся с неустранимой ошибкой, требующей отмены доступа ко всем данным для защиты целостности этих данных. Windows XP: Это возвращаемое значение появилось в Windows XP. |
JET_errInvalidBookmark |
Указана недопустимая закладка вторичного индекса. Эта ошибка могла возникать из-за того, что вторичный ключ равен нулю или указатель буфера вторичного ключа имеет значение NULL. Эта ошибка возникает из-за
|
JET_errNoCurrentIndex |
Курсор в данный момент не находится на вторичном индексе. Переход к закладке вторичного индекса не имеет смысла, если курсор в настоящее время не использует вторичный индекс. JetGotoBookmark следует использовать, если курсор не находится на вторичном индексе. |
JET_errNotInitialized |
Операция не может завершиться, так как экземпляр, связанный с сеансом, еще не инициализирован. |
JET_errRecordDeleted |
Не удалось найти запись индекса, связанную с дополнительной закладкой индекса. |
JET_errRestoreInProgress |
Операция не может завершиться, так как выполняется операция восстановления на экземпляре, связанном с сеансом. |
JET_errSessionSharingViolation |
Один и тот же сеанс нельзя использовать одновременно для нескольких потоков. Windows XP: Это возвращаемое значение появилось в Windows XP. |
JET_errTermInProgress |
Операция не может завершиться, так как экземпляр, связанный с сеансом, завершает работу. |
Если эта функция будет выполнена успешно, курсор будет располагаться в записи индекса, связанной с указанной закладкой вторичного индекса. Если запись подготовлена к обновлению, это обновление будет отменено. Если действует диапазон индекса, этот диапазон индексов будет отменен. Если для курсора создан ключ поиска, он будет удален. Изменение состояния базы данных не произойдет.
Если эта функция завершается сбоем, положение курсора остается неизменным, если не будет возвращено JET_errRecordDeleted и не указано JET_bitBookmarkPermitVirtualCurrency. В этом случае курсор будет располагаться там, где находилась бы запись индекса, связанная с указанной закладкой вторичного индекса. Курсор можно переместить относительно этой позиции, но он по-прежнему не находится в допустимой записи индекса.
Если запись подготовлена к обновлению, это обновление будет отменено. Если действует диапазон индекса, этот диапазон индексов будет отменен. Если для курсора создан ключ поиска, он будет удален. В любом случае изменение состояния базы данных не произойдет.
Требования
Требование | Значение |
---|---|
Клиент |
Требуется Windows Vista или Windows XP. |
Сервер |
Требуется Windows Server 2008 или Windows Server 2003. |
Верхняя часть |
Объявлено в Esent.h. |
Библиотека |
Используйте ESENT.lib. |
DLL |
Требуется ESENT.dll. |
См. также:
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetGetSecondaryIndexBookmark
JetGotoBookmark
JetStopService