【问题标题】:c# send paramether for sql in [duplicate]c#在[重复]中为sql发送参数
【发布时间】:2014-08-13 12:24:25
【问题描述】:

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

【问题讨论】:

    标签: c# sql parameters


    【解决方案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
    

    【讨论】:

      【解决方案2】:

      这是因为您需要在名称字符串周围加上引号。喜欢

      commandx.AddParameter("@names", "'aa3','b4','gf2'"); 
      

      如果您有一个由多个值组成的字符串,例如

      commandx.AddParameter("@names", "aa3,b4,gf2"); 
      

      然后您可能需要一个函数,该函数将使用定界符分解您的字符串(以逗号拆分或任何字符拆分您的字符串并将值放在单引号中)

      【讨论】:

        猜你喜欢
        • 2021-08-22
        • 2012-09-28
        • 1970-01-01
        • 1970-01-01
        • 2014-01-17
        • 1970-01-01
        • 2011-12-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多