CRecordset::IsBOF
レコードセットが先頭レコードより前に位置付けられているときは 0 以外を返します。 現在のレコードはありません。
BOOL IsBOF( ) const;
戻り値
レコードセットにレコードが存在しない場合、または先頭レコードより前にスクロールした場合は 0 以外の値を返します。それ以外の場合は 0 を返します。
解説
レコードセットの先頭レコードより前に位置しているかどうかを調べるために、レコードからレコードにスクロールする前に呼び出します。 IsBOF と IsEOF を組み合わせて使うことで、レコードセットにレコードが存在するかどうかを調べることもできます。 Open 関数を呼び出しただけの状態でレコードセットにレコードが存在しないときは、IsBOF は 0 以外を返します。開いたレコードセットに 1 つ以上のレコードが存在する場合は、先頭レコードが現在のレコードになり、IsBOF は 0 を返します。
先頭レコードが現在のレコードの場合に、MovePrev 関数が呼び出されると、IsBOF 関数は 0 以外の値を返します。 IsBOF 関数が 0 以外を返した後にさらに MovePrev 関数を呼び出すとエラーが発生します。 IsBOF 関数が 0 以外を返したときは、現在のレコードは未定義になり、現在のレコードへの操作はすべてエラーになります。
使用例
この例は、IsBOF と IsEOF を使ってレコードセットを両方向にスクロールしてレコードセットの範囲を検出します。
// Open a recordset; first record is current
CCustomer rsCustSet(&m_dbCust);
rsCustSet.Open();
if(rsCustSet.IsBOF())
return;
// The recordset is empty
// Scroll to the end of the recordset, past
// the last record, so no record is current
while (!rsCustSet.IsEOF())
rsCustSet.MoveNext();
// Move to the last record
rsCustSet.MoveLast();
// Scroll to beginning of the recordset, before
// the first record, so no record is current
while(!rsCustSet.IsBOF())
rsCustSet.MovePrev();
// First record is current again
rsCustSet.MoveFirst();
必要条件
**ヘッダー:**afxdb.h