sql 具有多个条件的 where 子句 c# web 服务

sql where clause with multiple conditions c# web service

我正在用 C# 创建一个 Web 应用程序,我有多个 ID。

这是它的样子:

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

这是我存储在我的字符串中的四个不同的 ID

现在这是我的 sql 命令

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

我想要的是,我不想要带有这些 ID 的数据 17359,17355,17460,16834

我想查看其余数据

我应该在这里做什么??

id 是动态的,数字可以少也可以多

可能是执行此操作的动态方法,但如果您不想看到的 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)
};

您必须创建一个函数来拆分您的字符串和 return 您可以在 select 语句中使用的各个值,例如 [select * 来自 SELECT * FROM trid WHERE id NOT IN (select ID 来自 dbo.splitcommaSep(@IDs))]

请查看以下 link 功能

http://www.aspsnippets.com/Articles/Split-and-convert-Comma-Separated-Delimited-String-to-Table-in-SQL-Server.aspx

如果你的ID是comma-separated,你可以这样做:

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

因此您不必拆分 ID-string。