我有以下查询返回 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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)