如何更新数据库中的大量数据

yinzai126 2009-08-10 10:15:32
从数据库中取出指定资源id的全部资源地址(可能很多,如某个100集电视剧就有100个资源地址),在网页中以列表方式显示给用户,用户可以删除,添加列表中的地址项。
当用户操作完成后,要更新这个资源的资源地址。用户可能在原有基础上只做一点点修改(如只修改100集电视剧地址中的一个),也可能一点都不修改。

问题:1、当用户操作完成后,我更新的方式是先把数据库中以前的地址全部删除,然后再重新插入新地址。这种方式数据操作太大,如果有更合理的处理方式,请教。
2、如何判断从数据库中取出的地址和修改后的地址是否有更改(注意,地址可能很多),目前我的方式是刚开始时把从数据库中取出的资源的地址用','分隔存放在一个hidden控件中,当用户操作完成后点击提交时再用新值和这个hidden控件值做比较,如果相同则不做处理,如果不同(哪怕只有一点点不同),就按1的处理方式处理。问题是如果资源地址太多,存放在hidden控件中可能会造成服务器资源消耗过大,不知是否合理,如果有更合理的处理方式,请教。
如果有大侠给出合理处理方案,单独追加100分!
...全文
172 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinzai126 2009-08-10
  • 打赏
  • 举报
回复
大量数据放在viewstate中是不合理的
yinzai126 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dancingbit 的回复:]
1.更新被修改的那部份即可。
2.如果数据存放在DataTalbe中,可以使用GetChanges方法获取被更改的部分。
[/Quote]
我的资源地址全是在js中处理的,哪来的DataTalbe对象
dancingbit 2009-08-10
  • 打赏
  • 举报
回复
1.更新被修改的那部份即可。
2.如果数据存放在DataTalbe中,可以使用GetChanges方法获取被更改的部分。
wdzr_826 2009-08-10
  • 打赏
  • 举报
回复
可以先把用户操作的明细放到ViewState里面。
比如先删三条:
你可以把一个代表删除的代号‘DEL’和主键值写到ViewState里
再增3条
可以把增加代号,和增加信息写到ViewState里
等最终提交时使用事务执行这些SQL。

110,525

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧