は、私は次のクエリを必要としています。SqlParameterと文で
擬似コード:
createList(string commaSeparatedElements) {
...
SqlParameterList elements = new SqlParameterList("@elements", SqlDbType.Int);
SqlParameterList.Values = commaSeparatedElements.split(new Char[1] {','});
SqlCommand query = new SqlCommand("SELECT * FROM table WHERE id IN (@elements)");
query.Parameters.Add(elements);
...
}
そのようなものは、C#で存在するか、または私は自分でそれを書くことがあるのだろうか?
編集:すべての回答ありがとうございます。私が理解できないコードを使用しないようにすると(最終日にあまりにも多くの悪い経験をすると)、大まかに、テーブル値のパラメータは、自分のニーズに合っていてもオフリミットです。私はちょうどループを作りました。あなたは
List<int> Ids = new List<int>();
を宣言し、そこにあなたがしたいIDを追加した場合
string[] elements = commaSeparatedElements.split(new Char[1] {','});
StringList idParamList = new StringList();
for(int i=0;i<elements.Count;i++) {
query.Parameters.AddWithValue("@element"+i,Convert.ToInt32(elements[i]));
idParamList.Add("@element" + i);
}
SqlCommand query = new SqlCommand("SELECT * FROM table WHERE id IN ("+String.Join(",",idParamList)+")");
自分で書く –
[これをチェック](http://stackoverflow.com/questions/4502821/how-do-i-translate-a-liststring-into-a-sqlparameter-for-a-sql-in-statement) ) –