请问网络版进销存中如何解决多用户同时操作问题
请问网络版进销存中如何解决多用户同时操作问题
sql2000会不会自动处理并发数据,必须要用事务处理吗
问题点数:20、回复次数:7Top
1 楼feiyun0112(http://feiyun0112.cnblogs.com/)回复于 2006-03-03 13:36:53 得分 0
必须要用事务
**********************************
*本人主要使用VB+MS SQL,C#略知一二
*
*如有相关问题需要帮助
*
*可发短消息告知链接
**********************************
Top
2 楼lllzcs(水)回复于 2006-03-03 15:30:05 得分 0
谢谢Top
3 楼lc_mtt(柠檬把大飞猪裤子一脱...被大飞猪投诉了)回复于 2006-03-03 15:36:26 得分 0
事务Top
4 楼fj182(阿花)回复于 2006-03-03 21:31:17 得分 0
用MTS来控制事务,你就不必自己处理事务了,一旦过程或者函数出错将自动回滚。Top
5 楼lllzcs(水)回复于 2006-03-05 10:45:04 得分 0
用MTS来控制事务,如何搞,请指点Top
6 楼fj182(阿花)回复于 2006-03-05 20:59:41 得分 0
呵呵,指点弹不上,我也是菜鸟。
最简单的办法就是写Active组件时使用类模块的MTSTransactionMode属性,一般设为2-RequiresTransaction,开启分布事务(在SQL服务管理器里有),编译组件后它就能处理事务,在一次调用(包含嵌套调用)中,如果出错,它将自动回滚在该次调用对数据所作的操作。Top
7 楼fj182(阿花)回复于 2006-03-06 20:06:27 得分 0
补充一下。只能用于DLL工程,需要引用 COM+ Services Type Library库,创建业务对象时用CreateObject。
调用完成后提交事务,出错回滚事务。例如:
Public Sub Test()
On Error Goto PROC_ERR
Dim objTest As Object
Set objTest= CreateObject("TestBI.clsTest") '假如TestBI.clsTest是一个业务对象
objTest.Test
GetObjectContext.SetComplete '执行完成,提交
set objTest =Nothing
Exit Sub
PROC_ERR:
GetObjectContext.SetAbort '有错误产生,回滚
Err.Raise Err.Number,Err.Source,Err.Description
End Sub
编译以后安装到COM+中。Top




