以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]关于并发冲突的问题请教。 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=31318) |
-- 作者:ericsky -- 发布时间: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 -- 发布时间:2013/4/12 20:41:00 -- 一切皆有可能 没有绝对。但是 毫秒之差 应该可以忽略不计的吧。 |