首页 新闻 搜索 专区 学院

求批量更新数据的例子,数据库是 SQL2008R2

0
悬赏园豆:30 [已解决问题] 解决于 2015-10-04 21:58

现在有一个Dictionary<int,int>,里面有10万条数据,第一个int表示用户的userid,第二个int表示要给用户加的积分count。

有一个用户积分表T_UserJifen,有简单的二个字段userid和totalCount,表示用户id和总积分。

现在要将Dictionary里的数据按对应userid加到用户的积分表中。

才学浅,直接来求高效点的更新代码了。

DZCMS的主页 DZCMS | 初学一级 | 园豆:5
提问于:2015-10-03 17:42
< >
分享
最佳答案
0

1、创建临时表T_UserJifen_temp ;

2、使用bulkcopy批量写入临时表;

3、然后关联T_UserJifen和T_UserJifen_temp执行update;

4、删除临时表T_UserJifen_temp

收获园豆:30
喵喵喵猫 | 小虾三级 |园豆:1742 | 2015-10-04 12:22

这个方法可以。

很多文章介绍里都说到用SqlDataAdapter,但是没怎么整明白。

DZCMS | 园豆:5 (初学一级) | 2015-10-04 14:51
其他回答(1)
0

你遍历Dictionary<int,int>。把数据构造成insert语句,加入到到List中去

x:userid

y:count

先delete from T_UserJifen,然后insert into T_UserJifen(userid,totalCount) values(x,y);

你可以把sql语句存入List<string>;然后遍历执形。。。

如果我没说详细再@我

小小高 | 园豆:673 (小虾三级) | 2015-10-04 09:30

你直接用StringBuilderlder拼接起来试试。然后执形一次。。试试

支持(0) 反对(0) 小小高 | 园豆:673 (小虾三级) | 2015-10-04 09:35

先删后增肯定不行的,表里还有其它用户的数据,且原先每个用户的积分数也不一样。循环插10万条,数据库吃不消。

支持(0) 反对(0) DZCMS | 园豆:5 (初学一级) | 2015-10-04 14:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册