gpt4 book ai didi

c# - 将参数传递给 SQL select 语句 IN 子句的行为很奇怪。

转载 作者:行者123 更新时间:2023-11-30 21:07:29 28 4
gpt4 key购买 nike

我有以下返回 2 条记录的查询(在 DataSet 的查询生成器中)

SELECT        EmpID, Name, id
FROM Users
WHERE (CAST(id AS Varchar(20)) IN ('5688','5689'))

现在,如果我执行相同的查询,而不是从代码后面传递参数:String param = "'5688','5689'";它返回 null。

WHERE        (CAST(id AS Varchar(20)) IN (@param))

我试着去掉第一个和最后一个 ',但这并没有什么不同。

!!!id是独一无二的PK!!!

有人知道吗?

最佳答案

我找到的解决方案非常简单,这就像一个魅力,不需要 sps 或其他功能;

SQL:

SELECT whatever 
FROM whatever
WHERE (PATINDEX('%''' + CAST(id AS Varchar(20)) + '''%', @param) > 0)

C#:

String param = "'''1234'',''4567'''";
dataTable1 = tableAdapter1.getYourValues(param);

关于c# - 将参数传递给 SQL select 语句 IN 子句的行为很奇怪。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10374082/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com