2016-05-19 5 views
0
public IHttpActionResult Post(ModelName data){ 
var query="Select * from Table where ColumnName ='"+data.ID+"'"; 

return Ok(Value); 
} 

上記のSQLクエリで、data.IDに複数のIDを追加します。一例として、私は2つのIDのデータを取得する必要があります。別の時間に私は20のIDのデータが必要です。私は角のjsを使用してjson配列にデータを渡します。どうやってやるの。私はすべての私のIDデータのために多くのdata.Id1、data.id2などを書かなければならないのですか?すべてのヘルプ限り、あなたはあなたが使用することができ、あなたの入力を消毒しているようC#でSQLクエリに複数の値を追加する

+0

は、あなたが探しているものを、このです?? ColumnName IN( '"+ data.ID1 +"'、+ "data.ID2 '") –

+0

を選択します。これは私が避けたいものです。 @ChrisFは私の質問を理解しています。彼の答えを少し確認してください。それからあなたは私の質問を理解するでしょう。申し訳ありませんが、私は質問 –

+0

kkを書いた方法のために少し不明でした。私はあなたの質問の最後の行を読んでいなかったかもしれません..それについて申し訳ありません..どうも.. @ChrisFあなたのために良い答えがあると思います.. –

答えて

3

var query = "Select * from Table where ColumnName in (" + list_of_ids + ")"; 

は、これは1つのIDまたは複数を持っているかどうか動作します。あなたは、各IDを追加するためのいくつかの変換方法が必要になります

"B、C、D"

list_of_idsは、値のカンマ区切りの文字列である必要がありますリスト。あなたは、値のリストを構築することができ

var myList = new List<string>(); 

if (data.Id1 is set) 
{ 
    myList.Add(data.Id1.ToString()); 
} 

etc. 

string list_of_ids = string.Join(",", myList); 
+0

jsonで角度jを直接使用して文字列の配列を渡すと、これが可能になりますか? –

+0

角度フォームから渡すデータは、文字列値を持つjason配列です。そのjson値をリストに直接格納する方法はありますか? –

関連する問題