多用户由DataSet更新数据库时的一个问题

Acesailor 2004-12-06 04:42:53
表名:UserList
主键:UserName

多用户同时操作该表,而各用户在DataSet中连续插入多条或修改多条记录,我的意思就是新增或修改的记录出现相同的UserName,更新数据库时,如何正确检查出相同的UserName?异常处理呢?(总不能保存前DataSet中UserName与数据库检查一次吧)

...全文
161 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
cancerser 2004-12-07
  • 打赏
  • 举报
回复
事物的并发可以考虑加锁(数据库就有)

数据库本身就能考虑到完整性的约束,相同名的插入 数据库会先执行一个,然后在判断主键是不是冲突,冲突会给后进来的一个错误提示。

更新呢 就考虑加个写锁吧~
peterlanhaijun 2004-12-07
  • 打赏
  • 举报
回复
其实多用户对数据的操作也没有绝对的同步进行,总有个先后,数据库的设计本身对这种情况就考虑到。
如果是新增了相同(主键相同)数据那么先被数据库接受的操作会成功,紧跟其后的操作就会失败,你可以做成提示。
如果是修改了相同数据那你可以在table中设置一列lock(每一次操作成功就++)值和datetime值(记录操作时间),你可以判断datetime值是否接近用户的当前操作时间,是就提示。

我刚做的系统就是这样处理的,暂时还没有出现什么问题。在这里提出来供各位兄弟姐妹参考!
thinkingforever 2004-12-07
  • 打赏
  • 举报
回复
在更新到数据库时判断一下有没有重复的UserName
ddggggdd 2004-12-07
  • 打赏
  • 举报
回复
同意 windinwing,其实质就是并发的相关问题
windinwing 2004-12-06
  • 打赏
  • 举报
回复
1.UserName在数据库里设成主键 
2.DataSet里插入用户的时候判段有无重复记录没有在插入
3.如果有多个用户访问不同的DataSet可以设置成单体模式,只有一个DataSet
Acesailor 2004-12-06
  • 打赏
  • 举报
回复
我问的是多个用户一起提交时会出现的情况啊
nchen123 2004-12-06
  • 打赏
  • 举报
回复
批量更新放在一个事务中进行即可。
相关推荐
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2004-12-06 04:42
社区公告

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