我想将逗号分隔的值列表作为参数传递给我正在使用的Visual Studio 2008中的设计器基于我正在经历的一些强类型DAL教程构建的查询。该查询针对DB2数据库。这是我想做的:
从客户所在的价格中选择*(?)
我在123456中通过了,它的运行状况很好吗?
但是当我传递“ 123456”(这是一个字符字段,所以我不知道为什么这不起作用;它必须在幕后添加这些字符)或123456、123457或“123456”,“ 123457”时失败
我将此页面添加到门户,其中所有数据访问均基于DAL设计器模型进行,并带有调用它的BLL,所以我想以此方式实现一致性。这是可能的吗?还是这种工具不够灵活,无法完成我需要做的事情?谢谢。
这是人们使用参数化查询时经常犯的错误。您必须记住,单个参数占位符“ ?”可以替代 单个值 。
?
请参阅下面的问题链接,以获取Joel Spolsky解决此问题的灵巧解决方案。
“参数化SQL IN子句? ”
还有很多人回答了同样的问题,重申标准解决方案是动态构造SQL查询,为您需要传递的每个值附加一个参数占位符。