在一个MIS系统中,没有用事务那就绝对是有问题的,要么就只有一种情况:你的系统实在是太小了,业务业务逻辑有只要一步执行就可以完成了。因此掌握事务 处理的方法是很重要,进我的归类在.net中大致有以下4种事务处理的方法。大家可以参考一下,根据实际选择适当的事务处理。
1 SQL事务
sql事务是使用SQL server自身的事务:在存储过程中直接使用Begin Tran,Rollback Tran,Commit Tran实现事务:
优点:执行效率最佳
限制:事务上下文仅在数据库中调用,难以实现复杂的业务逻辑。
Demo:(所有demo
1 CREATE PROCEDURE dbo.SPTransaction
2 (
3 @UpdateID int,
4 @UpdateValue nchar(50),
5 @InsertID int,
6 @InsertValue nchar(50)
7 )
8 AS
9 begin Tran
10 Update Region Set RegionDescription=@UpdateValue where RegionID=@UpdateID
11
12 insert into Region Values (@InsertID,@InsertValue)
13
14 declare @RegionError int
15 select @RegionError=@@error
16 if(@RegionError=0)
17 COMMIT Tran
18 else
19 ROLLBACK Tran
20 GO
2 (
3 @UpdateID int,
4 @UpdateValue nchar(50),
5 @InsertID int,
6 @InsertValue nchar(50)
7 )
8 AS
9 begin Tran
10 Update Region Set RegionDescription=@UpdateValue where RegionID=@UpdateID
11
12 insert into Region Values (@InsertID,@InsertValue)
13
14 declare @RegionError int
15 select @RegionError=@@error
16 if(@RegionError=0)
17 COMMIT Tran
18 else
19 ROLLBACK Tran
20 GO