次の方法で共有


CDaoRecordset::IsBOF

前に、レコードセットの最初のレコードであったかどうかについては、レコード間をスクロールする前にこのメンバー関数を呼び出します。

BOOL IsBOF( ) const;

戻り値

レコードセットがレコードが含まれていない場合、または以前に最初のレコード間を前後にスクロールする場合は、; それ以外の場合は 0。

解説

また IsEOF とともにレコードセットがレコードを含む場合、または空であるかどうかを確認するに IsBOF を呼び出すことができます。**[開く]**を呼び出した直後に、レコードセットがレコードがある場合、IsBOF は非ゼロを返します。1 文字以上のレコードを持つレコードセットを開くと、先頭のレコードが現在のレコードと IsBOF は 0 を返します。

最初のレコードが現在のレコードで、MovePrevを呼び出すと、IsBOF に、非ゼロを返します。IsBOF がゼロ以外の値を返し、MovePrevを呼び出すと、例外がスローされます。IsBOF がゼロ以外の値を返した場合、現在のレコードは定義されず、現在のレコードのアクションを必要とすると、例外が発生します。

IsBOFIsEOF の設定に対する特定のメソッドの使用:

  • 内部的に [開く] を呼び出すと、MoveFirstを呼び出して、レコードセットの最初のレコードが現在のレコードになります。したがって、レコードの空のセットの [開く] を呼び出すと、IsBOFIsEOF は非ゼロを返します。( MoveLast の失敗 MoveFirst または呼び出しの動作については、次の表を参照してください)。

  • すべてが 0 を返すように正常にレコード IsBOF 原因と IsEOF の両方を検索操作を実行します。

  • IsEOF が既に非ゼロの場合にのみ正常に新しいレコードを挿入 更新 の呼び出しに続く AddNew の呼び出しにより IsBOF は 0 を返します。IsEOF の状態は常に変更されません。Microsoft Jet データベース エンジンの定義に従って、空のレコードセットの現在のレコード ポインターはファイルの末尾にあるため、どの新しいレコードが現在のレコードの後に挿入されます。

  • レコードセットから唯一の残りのレコードを削除しても、[削除] の呼び出しは、IsBOF または IsEOFの値は変わりません。

IsBOF/IsEOFのさまざまな組み合わせを持つ移動操作は、この表に示します。

 

MoveFirst、MoveLast

MovePrev、

移動 < 0

移動 0

MoveNext、

移動 > 0

IsBOFの =nonzero、

IsEOF=0

許可

例外

例外

許可

IsBOF=0,

IsEOFの =nonzero

許可

許可

例外

例外

ゼロ以外の両方

例外

例外

例外

例外

両方の 0

許可

許可

許可

許可

移動の操作を許可する場合は、操作が正常にレコードを探すことを意味しません。指定した移動操作を実行しようと許可され、例外が生成されないことのみ示します。IsBOFIsEOF のメンバー関数の値が試みられた移動の結果、変更する場合があります。

IsBOFIsEOF の設定の値のレコードを見つけない移動の操作の効果を次の表に示します。

 

IsBOF

IsEOF

MoveFirstMoveLast

ゼロ以外

ゼロ以外

[移動] 0

変更なし

変更なし

MovePrev[移動] < 0

ゼロ以外

変更なし

MoveNext[移動] > 0

変更なし

ゼロ以外

関連情報については、「BOF の DAO ヘルプ モードのプロパティを」を参照してください。

必要条件

Header: afxdao.h

参照

関連項目

CDaoRecordset クラス

階層図

CDaoRecordset::IsEOF