[英]Passing comma delimited list as parameter to IN clause for db2 query using designer in visual studio 2008
我想将逗号分隔的值列表作为参数传递给我使用 Visual Studio 2008 中的设计器基于我正在阅读的一些强类型 DAL 教程构建的查询。 该查询针对 DB2 数据库。 这是我想要做的:
select * from price where customer in (?)
我通过 123456 作为 ?
但是当我传入'123456'(它是一个字符字段,所以我不知道为什么这不起作用;它必须在幕后添加这些)或123456、123457或'123456'、'123457'时失败
我正在将此页面添加到一个门户,其中所有数据访问都是基于 DAL 设计器模型完成的,其中 BLL 调用它,因此我想以这种方式进行一致性。 这是可能的,还是在这种情况下,工具不够灵活,无法完成我需要它做的事情? 谢谢。
这是人们在使用参数化查询时常犯的错误。 您必须记住,单个参数占位符“ ?
”是单个值的替代。
请参阅下面的问题链接,从 Joel Spolsky 那里获得针对此问题的巧妙解决方案。
“ 参数化 SQL IN 子句? ”
还有一堆其他人回答了同样的问题,重申标准解决方案是动态构造 SQL 查询,为您需要传递的每个值附加一个参数占位符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.