您的位置:首页 > 数据库

也谈 .NET2.0 事务处理 TransactionScope 的使用:[在访问相同数据库时避免讨厌的分布式事务]

2007-08-22 20:20 645 查看
.NET Framework 2.0 版中新增的 TransactionScope 单独使用确实很方便。但是在实际项目中都有自己的访问层,如何才能和自己的数据访问层结合起来使用呢?

在项目中我是这样处理数据的:

public class OutSourcingDAO

public int ExecSql(string strSql)

public int UpdateTest(OutSourcing outSourcing, BusinessAccept businessAccept)

public sealed class Scope : IDisposable

数据库访问类代码如下:

public class DataAccessTest

private void button1_Click(object sender, EventArgs e)

public void TestACT()

public void TestNoACT()

查看一下输入的结果

下面是使用事务的输出。。。。。。。。

打开数据库连接;

执行 Sql 语句。。。

执行 Sql 语句。。。

关闭数据库连接->该方法由 Scope中的Dispose()方法调用

*********************下面是 未 使用事务的输出。。。。。。。。

打开数据库连接;

执行 Sql 语句。。。

未使用事务 关闭数据库连接;

打开数据库连接;

执行 Sql 语句。。。

未使用事务 关闭数据库连接;

输出结果和想像中的完全一样 数据库也正确(没任何原因不正确!)

最后 改变一下方法:

public void TestACT()

public int UpdateTest(OutSourcing outSourcing, BusinessAccept businessAccept)

{

{

myHelper.Update(outSourcing);

myHelper.Update(businessAccept);

ts.Complete();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: