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 功能
如果你的ID是comma-separated,你可以这样做:
SqlCommand cmd = new SqlCommand("select * from trid where id NOT IN (@id)", con);
因此您不必拆分 ID-string。
我正在用 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 功能
如果你的ID是comma-separated,你可以这样做:
SqlCommand cmd = new SqlCommand("select * from trid where id NOT IN (@id)", con);
因此您不必拆分 ID-string。