2017-01-18 96 views
1

我在c#中創建一個web應用程序,並且我有多個id。SQL where條款與多個條件c#web服務

這是它的外觀:

string id = "17359,17355,17460,16834"; 

這是四個不同的ID我保存在我的字符串

現在這是我的SqlCommand

sqlcommand cmd=new sqlcommand("select * from trid where [email protected]",con); 
sqlparameter[] param={ 
new sqlparameter("@id",id) 
}; 

我想是的,我不想用這些ID的數據17359,17355,17460,16834

我想看看其餘的o f數據

我應該在這裏做什麼?

ID是動態的,可以在數字

+0

拆分字符串並從那裏建立命令... – TheLethalCoder

回答

0

可能是一個動態的方式少跌多要做到這一點,但是這將工作,如果ID的,你不希望看到的是靜態的。

string id1 = "17359"; 
string id2 = "17355"; 
string id3 = "17460"; 
string id4 = "16834"; 

sqlcommand cmd=new sqlcommand("SELECT * FROM trid WHERE id NOT IN (@id1, @id2, @id3, @id4)",con); 
sqlparameter[] param={ 
new sqlparameter("@id",id) 
}; 
+0

id是動態的,可以多於這個 –

+0

請參閱http://stackoverflow.com/questions/16842263/an-issue-of-sqlcommand-with-parameters -for-in – Matt

+0

如果該鏈接解決了該問題,則將其作爲僞指令進行關閉 – TheLethalCoder

1

如果你的ID是逗號分隔,你可以做這樣的:

SqlCommand cmd = new SqlCommand("select * from trid where id NOT IN (@id)", con); 

所以你不必拆分ID字符串。