CRecordset::Requery
(最新の情報に更新) レコードセットを再構築します。
virtual BOOL Requery( );
戻り値
レコードセットが正常にリビルドされると非ゼロ; それ以外の場合は 0。
解説
レコードが返されると、先頭のレコードが現在のレコードになります。
自分または他のユーザーがデータ ソースに追加と削除を行う反映するレコードセットでは、**[再クエリ]**を呼び出してレコードセットをビルドし直す必要があります。レコードセットがダイナセット、自動的に自分または他のユーザーが既存のレコードする更新内容が反映されます (よる追加します)。レコードセットがスナップショットで、他のユーザーによって編集を追加、削除、または反映するように [再クエリ] を呼び出す必要があります。
ダイナセットとスナップショット、呼び出し [再クエリ]、または並べ替え用新しいフィルターを使用してレコードセットをリビルドするか、または新しいパラメーター値。**[再クエリ]を呼び出す前に m_strFilter と m_strSort に新しい値を割り当てることによって、新しいフィルターや並べ替えのプロパティを設定します。[再クエリ]**を呼び出す前にパラメーター データ メンバーに新しい値を割り当てることによって一定の新しいパラメーター。フィルター、並べ替えの文字列が変更されない場合、パフォーマンスが向上するクエリを再利用できます。
レコードセットをリビルドする試みに失敗すると、レコードセットが閉じます。**[再クエリ]**を呼び出す前に、レコードセットが CanRestart のメンバー関数を呼び出すことによって requeried できるかどうかを確認できます。CanRestart は [再クエリ] が成功したことを保証する。
注意 |
---|
[開く]を呼び出した後にのみ使用 [再クエリ]。 |
例外
このメソッドは、型 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