Foxtable(狐表)用户栏目专家坐堂 → [求助]关于并发冲突的问题请教。


  共有5675人关注过本帖树形打印复制链接

主题:[求助]关于并发冲突的问题请教。

帅哥哟,离线,有人找我吗?
ericsky
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:361 积分:3810 威望:0 精华:0 注册:2012/4/16 20:20:00
[求助]关于并发冲突的问题请教。  发帖心情 Post By:2013/4/12 20:32:00 [只看该作者]

问题一:
针对帮助中《工作流和并发冲突》一节内容请教:

Dim r As Row = Tables("表A").Current
r.
DataRow.Load() '重新加载此行的数据
If
r.IsNull("标记") Then
   
Dim cmd as New SQLCommand
    cmd.CommandText =
"Update {表A} Set 标记 = -1 Where 标记 Is Null And [_Identify] = " & r("_Identify")

由于网络延迟等原因,会不会出现两个或者多人同时作出标记为空的判断,同时进行操作。有没有这种可能性?如果有的话,哪怕是再低的概率,对于数据管理来说也是不允许的。
是不是更应该从业务流程的编排上尽量避免多人同时操作的情况?

问题二:

如果是网络作业程序的开发,sql是不是更具有速度效率的优势,应该尽量使用,比如说,以下这两段代码,sql的代码的更好,还是两者都一样?

Dim r As Row = Tables("表A").Current
r.
DataRow.Load() '重新加载此行的数据
If
 r.IsNull("标记"Then
    
Dim cmd as New SQLCommand 
    cmd.CommandText = "Update {表A} Set 标记 = -1 Where 标记 Is Null And [_Identify] = " & r("_Identify")
end if

Dim r As Row = Tables("表A").Current
r.
DataRow.Load() '重新加载此行的数据
If
 r.IsNull("标记"Then
   r("标记") = -1
   r.save()
end if

在下没有编程基础,问题可能看起来比较粗浅的低级,还请各位老师不吝赐教,谢谢!


 回到顶部
帅哥哟,离线,有人找我吗?
jianjingmaoyi
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:760 积分:4714 威望:0 精华:0 注册:2011/12/17 18:37:00
  发帖心情 Post By:2013/4/12 20:41:00 [只看该作者]

一切皆有可能 没有绝对。但是 毫秒之差 应该可以忽略不计的吧。

 回到顶部