次の方法で共有


CRecordset::Requery

 

構文

virtual BOOL Requery( );

戻り値

レコードセットが正常にリビルドされると非ゼロ; それ以外の場合は 0。

解説

レコードが返されると、先頭のレコードが現在のレコードになります。

自分または他のユーザーがデータ ソースに追加と削除を行う反映するレコードセットでは、**[再クエリ]**を呼び出してレコードセットをビルドし直す必要があります。 レコードセットがダイナセット、自動的に自分または他のユーザーが既存のレコードする更新内容が反映されます (よる追加します)。 レコードセットがスナップショットで、他のユーザーによって編集を追加、削除、または反映するように [再クエリ] を呼び出す必要があります。

ダイナセットとスナップショット、呼び出し [再クエリ]、または並べ替え用新しいフィルターを使用してレコードセットをリビルドするか、または新しいパラメーター値。 **[再クエリ]**を呼び出す前に m_strFilterm_strSort に新しい値を割り当てることによって、新しいフィルターや並べ替えのプロパティを設定します。 **[再クエリ]**を呼び出す前にパラメーター データ メンバーに新しい値を割り当てることによって一定の新しいパラメーター。 フィルター、並べ替えの文字列が変更されない場合、パフォーマンスが向上するクエリを再利用できます。

レコードセットをリビルドする試みに失敗すると、レコードセットが閉じます。 **[再クエリ]**を呼び出す前に、レコードセットが CanRestart のメンバー関数を呼び出すことによって requeried できるかどうかを確認できます。 CanRestart[再クエリ] が成功したことを保証する。

注意

[開く]を呼び出した後にのみ使用 [再クエリ]

例外

Exception

Condition

このメソッドは、型 CDBException* と **CMemoryException***の例外をスローできます。

使用例

この例では、別の並べ替え順序を適用するレコードセットを再構築します。

CCustomer rsCustSet(&m_dbCust);

// Open the recordset
rsCustSet.Open();

// Use the recordset ...

// Set the sort order and Requery the recordset
rsCustSet.m_strSort = _T("L_Name, ContactFirstName");
if(!rsCustSet.CanRestart())
   return;    // Unable to requery

if(!rsCustSet.Requery())
   // Requery failed, so take action
   AfxMessageBox(_T("Requery failed!"));

必要条件

Header: afxdb.h

参照

CRecordset クラス
階層図
CRecordset::CanRestart
CRecordset::m_strFilter
CRecordset::m_strSort