次の方法で共有


CRecordset::IsBOF

レコードセットが先頭レコードより前に位置付けられているときは 0 以外を返します。 現在のレコードはありません。

BOOL IsBOF( ) const;

戻り値

レコードセットにレコードが存在しない場合、または先頭レコードより前にスクロールした場合は 0 以外の値を返します。それ以外の場合は 0 を返します。

解説

レコードセットの先頭レコードより前に位置しているかどうかを調べるために、レコードからレコードにスクロールする前に呼び出します。 IsBOFIsEOF を組み合わせて使うことで、レコードセットにレコードが存在するかどうかを調べることもできます。 Open 関数を呼び出しただけの状態でレコードセットにレコードが存在しないときは、IsBOF は 0 以外を返します。開いたレコードセットに 1 つ以上のレコードが存在する場合は、先頭レコードが現在のレコードになり、IsBOF は 0 を返します。

先頭レコードが現在のレコードの場合に、MovePrev 関数が呼び出されると、IsBOF 関数は 0 以外の値を返します。 IsBOF 関数が 0 以外を返した後にさらに MovePrev 関数を呼び出すとエラーが発生します。 IsBOF 関数が 0 以外を返したときは、現在のレコードは未定義になり、現在のレコードへの操作はすべてエラーになります。

使用例

この例は、IsBOFIsEOF を使ってレコードセットを両方向にスクロールしてレコードセットの範囲を検出します。

// 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

参照

参照

CRecordset クラス

階層図

CRecordset::IsEOF

CRecordset::MoveFirst

CRecordset::MovePrev

その他の技術情報

CRecordset のメンバー