我知道这样的问题已经存在于:如何将参数传递给sql 'in'语句?
但是答案对我没有帮助,所以我请求你的指导。
如何将字符串数组作为参数传递给Npgsql语句?假设语句是这样的:
string[]的名字= new string[]{"一"、"两个"};
Adapter.SelectCommand。CommandText("选择something_else.name在(:names)组中有count(*)=2的something_else.name的something.name(很多内部连接);");
尝试:
where something_else.name = any(:names)
我不熟悉npgsql的确切语法,但我可以告诉你如何继续。
从你的字符串数组names
创建一个字符串,看起来像"'one', 'two'"。请确保用单引号分隔。
那么,当您创建命令字符串时,不要使用变量替换。相反,只需在in
语句之后将您刚刚在(
和)
之间创建的字符串连接起来。也就是说,直接将它们插入字符串。