Btrieve API Guide (v11)

Get Next(6)

Get Next オペレーション(B_GET_NEXT)では、指定されたキーに基づいて、論理位置で次にあるレコードを取得します。Get Next オペレーションを使うと、重複するキー値を持つレコードのグループの中でレコードを検索できます。Get Key(+50)バイアスを使うと、ファイル内に値が存在するかどうかを検出することもできます。一般に、Get Key オペレーションの方が高速に処理されます。

パラメーター

 
オペレーション コード
ポジション ブロック
データ バッファー
データ バッファー長
キー バッファー
キー番号
送り値

 

戻り値
 

 

前提条件

手順

  1. オペレーション コードに 6 を設定します。オプションで、ロック バイアスも指定できます。
  2. ファイルのポジション ブロックを渡します。
  3. データ バッファー長に取得するレコードの長さ以上の値を設定します。
  4. キー バッファーに前のオペレーションで取得したキー値を指定します。キー バッファーには、前の呼び出しでトランザクショナル インターフェイスから返されたキー値とまったく同じものを渡します。トランザクショナル インターフェイスでは、ファイル内の現在の位置を決定するために、直前にキー バッファーに格納された情報が必要となるからです。
  5. キー番号パラメーターに、前の呼び出しで使用したキー パスを設定します。Get Next オペレーションを使ってキー パスを変更することはできません。

結果

Get Next オペレーションが正常に終了した場合、トランザクショナル インターフェイスではレコードがデータ バッファーに、そのレコードのキー値がキー バッファーに、さらにそのレコードの長さがデータ バッファー長に返されます。

Get Next オペレーションが正常に実行されなかった場合は、トランザクショナル インターフェイスから次のステータス コードのいずれかが返されます。

3
ファイルが開いていません。
6
キー番号パラメーターが不正です。
7
キー番号が変更されました。
8
現在のポジションが不正です。
9
オペレーションが EOF(end-of-file)を検出しました。
22
データ バッファー パラメーターが短すぎます。
82
トランザクショナル インターフェイスがポジショニングを失いました。

このオペレーションの実行により、論理位置の直後がファイルの末尾よりも後を指す場合は、ステータス コード 9 が返されます。

ポジショニング

Get Next オペレーションを実行すると、完全な論理カレンシーおよび物理カレンシーが確立し、取得したレコードが現在のレコードになります。


Get Less Than or Equal(11)

Get Next Extended(36)