CRecordset::m_strFilter
更新 : 2007 年 11 月
レコードセット オブジェクトの作成後、Open メンバ関数を呼び出す前に、SQL の WHERE 句を保持する CString を格納するためにこのメンバを使います。
解説
レコードセットは、Open 関数や Requery 関数を呼び出すとき、選択するレコードを制限する (フィルタをかける) ためにこの文字列を使います。これはレコードのサブセットを選択するとき、たとえば "all salespersons based in California" ("state = CA") のような場合に、便利です。DBC SQL の WHERE 句の構文を次に示します。
WHERE search-condition
文字列中にキーワード WHERE を含めないことに注意してください。このキーワードはフレームワークによって追加されます。
文字列中にプレースホルダ '?' を使ってフィルタ文字列をパラメータ化できます。パラメータ化とは、各プレースホルダごとにクラスのパラメータ データ メンバを宣言し、実行時にレコードセットにパラメータを渡すことをいいます。パラメータ化することによって、実行時にフィルタを作成できます。詳細については、「レコードセット : パラメータを利用したレコードセット (ODBC)」を参照してください。
SQL WHERE 句の詳細については、「SQL」を参照してください。レコードの選択とフィルタ処理の詳細については、「レコードセット : レコードのフィルタ処理 (ODBC)」を参照してください。
使用例
CCustomer rsCustSet(&m_dbCust);
// Set the filter
rsCustSet.m_strFilter = _T("L_Name = 'Flanders'");
// Run the filtered query
rsCustSet.Open(CRecordset::snapshot, _T("Customer"));
必要条件
ヘッダー : afxdb.h