ようこそゲストさん | ログイン |

掲示板

トップページ > 過去ログ > 記事閲覧
SETDSPSQLの条件
日時: 2009/03/05 14:48
名前: kazzy

SETDSPSQLの条件を複数指定することはできますか?

Page: 1 |

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

できました。
ありがとうございました。

Page: 1 |



| 利用規約 |

(C) 2024 AS Locus INC.