求VB6+SQL SERVER 多客户端 并发时 事务控制的资料或教材
求VB6+SQL SERVER 多客户端 并发时 事务控制的资料或教材 --------------------编程问答--------------------private sub command1_click()--------------------编程问答--------------------
on error goto errhandle
conn.begintrans '开始事务
conn.execute "insert into ..."
conn.execute "update tablename set ..."
conn.execute "delete from ..."
conn.committrans '提交事务
exit sub
'错误处理
errhandle:
conn.rollbacktrans '出错回滚事务
msgbox "操作失败,错误原因为:" & err.description,48,"提示"
exit sub
end sub
如何防冲突呢? --------------------编程问答--------------------
比如:老公(名A)和 老婆(名B)同时在两个银行网点用自已家唯一的银行帐户办理业务,
1、A 存款5000 先读出余款是10000,而后存入5000, 对应的语句是 “update 帐户表 set 余额=15000”
2、B 取出3000 选读出余款是10000,而后取款3000,对应的语句是 “update 帐户表 set 余额=7000”
最终他们帐户里的余款可能是7000,这显然是错误的,余额应该是12000, 这种情况如何避免呢? --------------------编程问答--------------------
这个问题也是我很想知道要怎么解决,我有个想法,为什么要先读呢,
1.A 存款5000 语句"update 帐户表 set 余额=余额+5000"
2.B 取3000 语句"update 帐户表 set 余额=余额-3000"
不知道这样行不行,更新完再读出余额 --------------------编程问答-------------------- 谢谢大家,还有其他的回答吗
--------------------编程问答--------------------
比如:老公(名A)和 老婆(名B)同时在两个银行网点用自已家唯一的银行帐户办理业务,
1、A 存款5000 先读出余款是10000,而后存入5000, 对应的语句是 “update 帐户表 set 余额=15000”
2、B 取出3000 选读出余款是10000,而后取款3000,对应的语句是 “update 帐户表 set 余额=7000”
最终他们帐户里的余款可能是7000,这显然是错误的,余额应该是12000, 这种情况如何避免呢?
1、update 帐户表 set 余额=余额+5000 where
2、update 帐户表 set 余额=余额-3000 where
补充:VB , 基础类