次の方法で共有


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 の後に取得し、同じレコードの位置を変更するために使用する必要があります。

要件

要件

Client

Windows Vista、Windows XP、または Windows 2000 Professional が必要です。

[サーバー]

Windows Server 2008、Windows Server 2003、または Windows 2000 Server が必要です。

Header

Esent.h で宣言されています。

Library

ESENT.lib を使用します。

[DLL]

ESENT.dllが必要です。

参照

JET_COLUMNID
JET_ERR
JET_SESID
JET_TABLEID
JET_RECPOS
JET_SETINFO