我正在使用c#创建一个网络应用,我有多个ID。
它的外观如下:
string id = "17359,17355,17460,16834";
这是我存储在我的字符串
中的四个不同的id现在这是我的sqlcommand
sqlcommand cmd=new sqlcommand("select * from trid where id!=@id",con);
sqlparameter[] param={
new sqlparameter("@id",id)
};
我想要的是,我不希望数据包含这些内容17359,17355,17460,16834
我希望看到剩下的数据
我应该在这做什么?
id是动态的,数量可以更少或更多
答案 0 :(得分:1)
如果你的ID以逗号分隔,你可以这样做:
SqlCommand cmd = new SqlCommand("select * from trid where id NOT IN (@id)", con);
因此您不必拆分ID字符串。
答案 1 :(得分: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)
};
答案 2 :(得分:0)
你必须创建一个函数来分割你的字符串并返回你可以在select语句中使用的各个值,如[select * from SELECT * FROM trid WHERE id NOT IN(从dbo.splitcommaSep(@IDs)中选择ID) )]
请查看以下功能链接