CDaoRecordset::IsBOF
前に、レコードセットの最初のレコードであったかどうかについては、レコード間をスクロールする前にこのメンバー関数を呼び出します。
BOOL IsBOF( ) const;
戻り値
レコードセットがレコードが含まれていない場合、または以前に最初のレコード間を前後にスクロールする場合は、; それ以外の場合は 0。
解説
また IsEOF とともにレコードセットがレコードを含む場合、または空であるかどうかを確認するに IsBOF を呼び出すことができます。**[開く]**を呼び出した直後に、レコードセットがレコードがある場合、IsBOF は非ゼロを返します。1 文字以上のレコードを持つレコードセットを開くと、先頭のレコードが現在のレコードと IsBOF は 0 を返します。
最初のレコードが現在のレコードで、MovePrevを呼び出すと、IsBOF に、非ゼロを返します。IsBOF がゼロ以外の値を返し、MovePrevを呼び出すと、例外がスローされます。IsBOF がゼロ以外の値を返した場合、現在のレコードは定義されず、現在のレコードのアクションを必要とすると、例外が発生します。
IsBOF と IsEOF の設定に対する特定のメソッドの使用:
内部的に [開く] を呼び出すと、MoveFirstを呼び出して、レコードセットの最初のレコードが現在のレコードになります。したがって、レコードの空のセットの [開く] を呼び出すと、IsBOF と IsEOF は非ゼロを返します。( 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 |
許可 |
許可 |
許可 |
許可 |
移動の操作を許可する場合は、操作が正常にレコードを探すことを意味しません。指定した移動操作を実行しようと許可され、例外が生成されないことのみ示します。IsBOF と IsEOF のメンバー関数の値が試みられた移動の結果、変更する場合があります。
IsBOF と IsEOF の設定の値のレコードを見つけない移動の操作の効果を次の表に示します。
|
IsBOF |
IsEOF |
---|---|---|
MoveFirst、MoveLast |
ゼロ以外 |
ゼロ以外 |
[移動] 0 |
変更なし |
変更なし |
MovePrev、[移動] < 0 |
ゼロ以外 |
変更なし |
MoveNext、[移動] > 0 |
変更なし |
ゼロ以外 |
関連情報については、「BOF の DAO ヘルプ モードのプロパティを」を参照してください。
必要条件
Header: afxdao.h