Re: SETDSPSQLの条件 ( No.1 ) |
- 日時: 2009/03/05 15:13
- 名前: GEOSISサポート
- Kazzy様
複数条件を設定する場合は複数の条件文のSQLを作成して、コマンドへ渡すようにお願いします。
例:SQL = "ITEM = 512 AND EL = '0001'"
※スペースが含まれるパラメータを渡す場合は、ダブルコーテーション(")で文字列をくくるようにお願いします。
|
Re: SETDSPSQLの条件 ( No.2 ) |
- 日時: 2009/03/07 09:19
- 名前: kazzy
- VS2005 C# で作業していますが、
例のように、SQLにスペースを入れると条件が設定されなくなります。
こちらの環境で、DBベクターデータの、グループが5、レイヤーが800のシンボルを BUILD_NAMEフィールドの条件で表示させようと、例の用にSQL部分にスペースを入れて
GeoMap.Exec("SETDSPSQL" , "5 800 BUILD_NAME = '" +ビル名 + "'"); (※ビル名は変数です)
としたところ、条件が反映されずすべてのシンボルが表示され、
GeoMap.Exec("SETDSPSQL" , "5 800 BUILD_NAME='" +ビル名 + "'");
とスペースを無くすると、設定した条件通りに表示されました。
また、複数条件で年度というフィールドも条件に設定し、
GeoMap.Exec("SETDSPSQL" , "5 800 BUILD_NAME='" + buildName + "' AND YEAR_FLG='H18'");
とすると、BUILD_NAMEフィールドの条件設定のみで表示されます。
SQL部分のスペース以降が認識されていないように思われるのですが?
|
Re: SETDSPSQLの条件 ( No.3 ) |
- 日時: 2009/03/09 09:10
- 名前: GEOSISサポート
- kazzy様
スペースが含まれた文字をコマンドのパラメータとする場合はダブルコーテーションでくくる必要があります。
以下の例を参考にしてみてください。
string strPara = "BUILD_NAME='" + buildName + "' AND YEAR_FLG='H18'";
//ダブルコーテーションでくくります。 strPara = "5 800 " + "\"" + strPara + "\"";
//コマンド実行 GeoMap.Exec("SETDSPSQL",strPara);
|
Re: SETDSPSQLの条件 ( No.4 ) |
- 日時: 2009/03/09 09:43
- 名前: kazzy
- できました。
ありがとうございました。
|