首页 新闻 会员 周边 捐助

sql批量删除问题

0
[已关闭问题] 关闭于 2013-02-02 11:29
.net 下
数据批量更新问题。
 
UPDATE [dbo].[T_Cities]
   SET [IsDeleted] =1
 WHERE CityID in (2,3,4,5,6,7)
GO
 
问题CityID 是int ,当是前台传string ids='2,3,4,5,6,7',
 
直接拼接字符串可以解决,但是防注入问题,
 
 new SqlParameter("@ids",ids)
 
那么参数化写入就产生 nvarchar 无法转换int
 
请问如何解决?一般批量更新应该用什么方案?
Mr.Lin_♪的主页 Mr.Lin_♪ | 初学一级 | 园豆:3
提问于:2013-02-01 16:36
< >
分享
所有回答(3)
0

使用循环,一个一个生成参数,再一起传给一个sql语句。

滴答的雨 | 园豆:3660 (老鸟四级) | 2013-02-01 16:47
0

 string ids="2,3,4,5,6,7";
  string[] arr = ids.Split(',');转换成数组再去传参

骷髅人 | 园豆:464 (菜鸟二级) | 2013-02-01 16:59
0

这样只能在业务逻辑防注入,访问层拼接sql

Mr.Lin_♪ | 园豆:3 (初学一级) | 2013-02-02 11:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册