如何发送IN功能参数。当我添加" aa3,b4,gf2"。它总是无效。但我的桌子有aa3和b4。
commandx.StoredProcedure = "GET_TEST";
commandx.AddParameter("@names", "aa3,b4,gf2");
ALTER PROCEDURE [dbo].[GET_TEST]
@names varchar(15)
AS
SELECT id,name FROM TBL_TEST where atm_kodu IN (@names)
RETURN @@ROWCOUNT
答案 0 :(得分:1)
您需要在IN
子句的参数上加上引号,请参阅示例:
commandx.StoredProcedure = "GET_TEST";
commandx.AddParameter("@names", "'aa3','b4','gf2'");
ALTER PROCEDURE [dbo].[GET_TEST]
@names varchar(15)
AS
SELECT id,name FROM TBL_TEST where atm_kodu IN (@names)
RETURN @@ROWCOUNT
答案 1 :(得分:0)
这是因为你需要在名字字符串周围加上引号。像
commandx.AddParameter("@names", "'aa3','b4','gf2'");
如果您的字符串由多个值组成,例如
commandx.AddParameter("@names", "aa3,b4,gf2");
然后您可能需要一个函数,它将使用分隔符(使用逗号分割或任何字符分割您的字符串并将Vales放在单引号中)来爆炸您的字符串