リストの項目をカンマ区切りで出力したい
卵が先か鶏が先か~って話じゃないんですが、リストで出力した内容をカンマ区切りのデータにする必要が出てきたので、調べました。
List<string> items = new List<string>(){"a","b","c",...}; string str = String.Join(",",items);
これで「a,b,c,…」って文字列で取得できます。
項目数が可変となる項目を変数にする
何でこんな事態になったのかっていうと、そもそも引数が可変ってだけでウンザリなんですが、リスト取得されている項目に、取得したデータが該当するかどうかを判定させる必要が出てきたからなんです。
まぁ、そんだけなら明細単位でループ処理でも関数作成でも何でも出来るけど、今回はSQLで取得する必要がありまして。
元々のデータ自体が「a,b,c」って感じでカンマ区切りな物が、カンマを区切り文字としてリストとして取得されているものを使用する必要があったため、どうしたものかと。
当然ながら、可変の項目のためハードコーディングなんか出来ません。
項目数に応じてWhere句を拡張してもいいんだけど、ループ処理の確認とかも必要だしで面倒だなぁと思ってた矢先に見つけた。
SELECT * FROM test_table WHERE CD IN (:cd)
って感じでIN句に入れてやりゃOKだわw
って思ったのが間違いでした。
続く・・・