C/S开发框架事务处理机制
![](http://www.csframework.com/images/article-type5.gif)
![C/S开发框架事务处理机制 C/S开发框架事务处理机制](http://www.csframework.com/images/seo/SEO-系统设计.jpg)
关于事务处理机制
开发框架支持事务处理,在DAL层提交数据时可以自己控制事务的开始,提交和回滚。
dalBase类定义成员变量 _UserManualControlTrans 标记(开关):
True表示由自己控制事务提交数据。
False表示由框架自行启动,提交和回滚事务,预设值为False。
举例说明
假设要求在保存采购订单的同时更新库存数据,这里需要在同一事务内完成,实现如下:
采购订单DAL层提交数据代码:
/// <summary>
/// 提交采购订单资料。此方法演示用户自己控制事务。
/// </summary>
/// <param name="data">数据集</param>
/// <returns></returns>
public override SaveResult Update(DataSet data)
{
_UserManualControlTrans = true;//自己控制事务
try
{
this.BeginTransaction(); //手工启用事务
SaveResult mResult = base.Update(data); //调用基类的方法提交数据。
//提交数据后,在同一事务内调用后台的存储过程更新库存信息。
DataProvider.Instance.ExecuteSQL(_CurrentTrans, "usp_TestUpdateStock");
//同一事务内处理更多的数据。
DataProvider.Instance.ExecuteSQL(_CurrentTrans, "usp_TestUpdateOther");
this.CommitTransaction();//提交事务
return mResult;
}
catch (Exception ex)
{
this.RollbackTransaction();//事务回滚
throw ex;
}
}
![C/S框架网|原创精神.创造价值.打造精品](http://www.csframework.com/images/our03.gif)
扫一扫加微信
![C/S框架网作者微信](http://www.csframework.com/images/wechatcode.jpg)
![C/S框架网|原创作品.质量保障.竭诚为您服务](http://www.csframework.com/images/CS框架网提供高效优质服务.jpg)