【问题标题】:Npgsql statement 'in' pass an array of stringsNpgsql 语句 'in' 传递一个字符串数组
【发布时间】:2013-05-21 12:38:51
【问题描述】:

我知道这样的问题已经存在于:How to pass parameter to sql 'in' statement?

但答案对我没有帮助,所以我请求您的指导。

如何将字符串数组作为参数传递给 Npgsql 语句? 假设语句是这样的:

字符串[] 名称 = 新字符串[] { "一", "二" };

Adapter.SelectCommand.CommandText("Select something.name from something (很多内部连接) where something_else.name in (:names) group by something.name with count(*)=2; ");

【问题讨论】:

    标签: npgsql


    【解决方案1】:

    试试:

    where something_else.name = any(:names)
    

    【讨论】:

      【解决方案2】:

      我不熟悉 npgsql 的确切语法,但我可以告诉你如何进行。

      从您的字符串数组names 创建一个看起来像“'one', 'two'”的字符串。确保你有单引号分隔它们。

      然后,当您创建命令字符串时,不要使用变量替换。相反,只需在in 语句之后连接您刚刚在() 之间创建的字符串。即直接将它们插入到字符串中。

      【讨论】:

      • 这是我想遵循的解决方案,但我有点不想用连接字符串等来打扰自己。谢谢回复!
      猜你喜欢
      • 2012-03-09
      • 1970-01-01
      • 2015-06-27
      • 2011-04-18
      • 2012-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多