c#的s#发送参数

时间:2014-06-23 12:46:33

标签: c# sql parameters

如何发送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

2 个答案:

答案 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放在单引号中)来爆炸您的字符串