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