繁体   English   中英

使用visual studio 2008中的设计器将逗号分隔列表作为参数传递给db2查询的IN子句

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM