2006年5月24日
TransactionScope 类提供一个简单方法,通过这一方法,您不必与事务本身交互,即可将代码块标记为参与某个事务。事务范围可以自动选择和管理环境事务。由于它易于使用并且效率很高,因此建议您在开发事务应用程序时使用 TransactionScope 类。
此外,您不必显式向事务登记资源。任何 System.Transactions 资源管理器(例如 SQL Server 2005)都可以检测到该范围创建的环境事务的存在并自动登记。在使用前,应该保证MSDTC(分布式事务协调处理器)服务是启动的:如下图:因此,在做强类型设计的时候,你可以这样来写代码:步骤如下:1 在项目引用中加入(.net2.0)System.Transactions2 在头部加入using System.Transactions;3 加入以下代码片段:
注意:此命名空间在 .NET Framework 2.0 版中是新增的。
只能在 Windows 2000、Windows XP 和 Windows 2003 平台上使用此命名空间创建应用程序。在 Windows 98 和 Windows ME 平台上创建事务会引发 PlatformNotSupportedException。
posted @ 2006-05-24 22:38 c#之旅 阅读(920) | 评论 (1) | 编辑
我使用vs2005自动产生了强类型数据集,有两个表,一个表是Order,一个表是OrderDetail,自动产生后,产生了 OrderDataTable和OrderDetailDataTable,同时,也自动生成了两个相对应的OrderTableAdpter和OrderDetailTableAdpter.我在程序中应用的时候,对两个表分别进行了相应的修改,当然,是使用两个不同的TableAdpter来进行的操作,我想把这些操作放到一个事务里边,即实现下面的效果
事务开始OrderTableAdpter.Update(OrderDataTable);OrderDetailTableAdpter.Update(OrderDetailDataTable)事务提交有问题了,事务回滚,就是把上面的两条语句中的更新都回滚回去。
可一直没有找到什么解决方法,请各位高手大哥们给予帮助。。。太感谢了。
posted @ 2006-05-24 19:43 c#之旅 阅读(1094) | 评论 (5) | 编辑
Powered by: 博客园 Copyright © c#之旅