首页 新闻 会员 周边 捐助

以in()里的内容作为参数??

0
悬赏园豆:30 [已解决问题] 解决于 2011-05-15 11:43

如题,譬如 

Select  [Name]     From     [Product]     where [Id]    in   (1,3,5);

如果要将这句查询写成存储过程,1,3,5作为参数应该如何实现呢(in()里的元素数量是不固定的)??谢谢!!

问题补充:

除了拼接Sql语句。。。

ailove的主页 ailove | 菜鸟二级 | 园豆:382
提问于:2011-05-11 21:10
< >
分享
最佳答案
0

List<int> list = new List {1, 2, 3, 4, ... };

var array = list.ToArray();

return linq.where(p2 => array.Contrains( p2.nid));

收获园豆:30
mywork | 菜鸟二级 |园豆:475 | 2011-05-12 10:43
其他回答(2)
0

拼sql字符串

小小刀 | 园豆:1991 (小虾三级) | 2011-05-11 21:14
这我知道。。。就是想问一下有没有其它方法
支持(0) 反对(0) ailove | 园豆:382 (菜鸟二级) | 2011-05-11 21:18
这应该是最简单的了。想其他的办法也有,但是走弯路了。还是传字符串过来,再以这个字符串建一个表变量再连接你要查询的表。
支持(0) 反对(0) 小小刀 | 园豆:1991 (小虾三级) | 2011-05-11 23:08
0

in后面相当于一个集合,一个表,如果不传字符串,那就把这个sql拆开

先用循环插入in后面的那些值到一个临时表,然后in后面查询临时表 in(select id from temp)

我想我是风 | 园豆:4 (初学一级) | 2011-05-12 08:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册