書式
void ChangeCondition( int condition , const CString & key , int search , int nonmatch , int range , int lcheck , const CString & lvalue , int rcheck , const CString & rvalue )
throw( CSymNaviException )
パラメタ
condition | (in) | データ項目の条件指定
|
conditionでNAVI_MATCHを指定した場合に有効なパラメタ
key | (in) | 一致キー |
search | (in) | 検索方法の指定
|
nonmatch | (in) | 一致しないデータを対象とするかどうか
|
conditionでNAVI_RANGEを指定した場合に有効なパラメタ
range | (in) | 指定範囲
|
lcheck | (in) | 値Aを含むか含まないか
|
lvalue | (in) | 値Aの値 |
rcheck | (in) | 値Bを含むか含まないか
|
rvalue | (in) | 値Bの値 |
例外
エラーが発生した場合、CSymNaviExceptionオブジェクトを返却します。
例外詳細コード
詳細コード | 意味 |
---|---|
NAVI_ERROR_VALUE | 入力値不正 |
NAVI_ERROR_NOSUPPORT | サポート外の機能範囲が指定されている |
説明
問い合わせファイルの作成時に条件フィールドに貼り付けたデータ項目を変更します。
変更を行ったあとにExecute を呼び出して問い合わせを実行すると、変更した内容で問い合わせが行われます。
condition のNAVI_MATCH, NAVI_RANGE, NAVI_NULLの3つは、組み合せて指定することができます。例えば、一致するものとNULL値の場合は、NAVI_MATCH | NAVI_NULLとなります。
データが数値型の場合、指定できる検索方法は NAVI_COMPLETE だけです。それ以外の指定はエラーとなります。
データ項目が数値型の場合も、key は文字(数字)で指定してください。
指定例)
key=”123”; |
key に複数の一致キーを指定する場合、文字列をカンマで区切って指定してください。
searchにNAVI_LIKESEARCHを指定した場合は、keyに指定する「検索文字列」、および「エスケープ文字」をシングルクォーテーション(')で括ってください。
例1)一致キーだけを指定する場合(Aで始まりCで終わる文字列を検索する)
key=”’A%C’”; |
例2)エスケープ句を使用する場合(文字列A%Cを検索する)
key= “’A&%C’ ESCAPE ‘&’”; |
range のNAVI_UNDER とNAVI_OVERは、 NAVI_OVER | NAVI_UNDER のように、組み合せて指定することができます。
エラーメッセージは、CSymNaviException::GetErrorMessage を用いて取得できます。
エラー例外詳細コードは、CSymNaviException::GetReturnCode を用いて取得できます。
『CSVファイル、またはShunsaku利用時の注意事項』
CSVファイル、またはShunsakuのデータに対して、以下のいずれかの条件を満たす指定をしたときにエラーとなります。詳細コードには、NAVI_ERROR_NOSUPPORTが返却されます。
conditionにNAVI_NULL、またはNAVI_EXCEPTNULLを指定した場合(’|’によって他の指定と組み合せている場合も含む)。
conditionにNAVI_MATCHを指定した場合、およびsearchに以下の3つを指定した場合
NAVI_FROMSTART
NAVI_FROMEND
NAVI_LIKESEARCH
※旧バージョンの詳細コード「NAVI_ERROR_SHUNSAKU」は、Shunsakuを利用する場合に、互換用コードとして利用できます。