2011-12-21 11 views
1

私はコードの背後からSPにint値のリストを渡す方法は?

コードの後ろに、私は私は1つまたはカンマ区切りで私の店手順1に、すべての値を渡したい今、いくつかの値を取得していますその中でint型のリストを持っている:

Cmd.Parameters.AddWithValue("@ImageId", IDList); //IDList is list of int which need to pass in my SP 

SPで

+0

カンマ区切りリストを渡す代わりに、リストをXMLにシリアル化してXML値を渡すこともできます。 – Purplegoldfish

答えて

0

今、私は私のためのループとその作業罰金のための助けを借りて1で値1を渡していますのために..

for (int i = 0; i < IDList.Count; i++) 
{ 
    Cmd.Parameters.Clear(); 
    Cmd.Parameters.AddWithValue("@ImageId", IDList[i]); 
} 
1

カンマ区切りの文字列でそれらを渡し、t-sqlで分割することは、これまでのところ私が見つけた最良の選択です。

Split function equivalent in T-SQL?は分割操作に役立ちます。背後にあるコードで

var IDList = String.Join(",", new List<int> {1,2,3}); 
Cmd.Parameters.AddWithValue("@ImageIds", IDList); 
+0

はいくつかのexpを与えることができます。このコード – Rocky

0

コンマのリストを分割するために、SQL関数を作成しますが、INT http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=50648を分離いくつかのテーブルvaribaleにこのリストを挿入し、その後、あなたは

DECLAREようなあなたのSPをwrtieでき@ImageIDs TABLE (IMAGEID INT)@ImageIDs INTO

INSERT 選択*からdbo.fn_Split(@ImageID)

IF EXISTS(@ImageIDsを登録しようIMG ON I.ImageID = Img.ImageID ImageINstance I INNERから1を選択)

関連する問題