MyPDO 2.0 支持业务逻辑层事务

MyPDO 2.0 支持业务逻辑层事务

下载 http://free.ys168.com/?yu-nan88

文件 Trans1.cs

using System;

using NUnit.Framework;
using MyPDO.DataAccess;

namespace TestData
{
///

1<summary>   
2/// Trans1 的摘要说明。   
3/// </summary>

[TestFixture]
public class Trans1
{
public Trans1()
{
//
// TODO: 在此处添加构造函数逻辑
//
DBA = new DataAccessor();
DBA.ConnectString = "data source=10.10.35.30;initial catalog=TradeCityT;persist security info=False;user id=sa;pwd=lee;"; //"Provider=SQLOLEDB;data source=10.10.25.63;initial catalog=Master;user id=zha;Password=123;";
DBA.ConnectType = MyPDO.ConnectType.SqlDataDriver;
DBA.Open();
}
private MyPDO.DataAccess.DataAccessor DBA;

public MyPDO.DataAccess.DataAccessor Data
{
get{return DBA;}
set{DBA = value;}
}

[SetUp]
public void SetUp()
{
//this.ConnectString = "data source=10.10.35.37;initial catalog=TradeCityT;persist security info=False;user id=sa;pwd=123;";
//this.ConnectType = MyPDO.ConnectType.SqlDataDriver;

Assert.IsTrue(DBA.IsOpen,"DBA closed");
}
public int Insert()
{
string str = "INSERT INTO t_base_manager(ManagerCode, State2) values('TEST1',1)";
DBA.CommandText = str;
int i = DBA.ExecuteCommand(false);
Assert.IsTrue(i == 1);
return i;
}

}
}

文件 Trans2.cs

using System;

using NUnit.Framework;
using MyPDO.DataAccess;

namespace TestData
{
///

1<summary>   
2/// Trans1 的摘要说明。   
3/// </summary>

[TestFixture]
public class Trans2
{
public Trans2()
{
//
// TODO: 在此处添加构造函数逻辑
//

DBA = new DataAccessor();
DBA.ConnectString = "data source=10.10.35.30;initial catalog=TradeCityT;persist security info=False;user id=sa;pwd=lee;"; //"Provider=SQLOLEDB;data source=10.10.25.63;initial catalog=Master;user id=zha;Password=123;";
DBA.ConnectType = MyPDO.ConnectType.SqlDataDriver;
DBA.Open();

}
private MyPDO.DataAccess.DataAccessor DBA;

public MyPDO.DataAccess.DataAccessor Data
{
get{return DBA;}
set{DBA = value;}
}
[SetUp]
public void SetUp()
{
//this.ConnectString = "data source=10.10.35.37;initial catalog=TradeCityT;persist security info=False;user id=sa;pwd=123;";
//this.ConnectType = MyPDO.ConnectType.SqlDataDriver;

Assert.IsTrue(DBA.IsOpen,"DBA closed");
}
public int Insert()
{
//DBA.AutoCommit = false;
string str = "INSERT INTO t_base_manager(ManagerCode, State) values('TEST2_1',1)";
DBA.CommandText = str;
int i = this.insert();
if (i==1)
{
str = "INSERT INTO t_base_manager(ManagerCode, State) values('TEST2_2',1)";
DBA.CommandText = str;
i += this.insert();
}
Assert.IsTrue(2 ==i);
//if(i==2)
// DBA.CommitTrans();
//else
// DBA.RollbackTrans();
return i;
}
private int insert()
{
int i = DBA.ExecuteCommand(false);
Assert.IsTrue(i == 1);
return i;
}
}
}

文件 TestData.cs

using System;

using NUnit.Framework;
using MyPDO.DataAccess;

namespace TestData
{
///

1<summary>   
2/// TestData 的摘要说明。   
3/// </summary>

[TestFixture]
public class TestData
{
public TestData()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
private MyPDO.DataAccess.DataAccessor DBA;

[SetUp]
public void SetUp()
{
//this.ConnectString = "data source=10.10.35.37;initial catalog=TradeCityT;persist security info=False;user id=sa;pwd=123;";
//this.ConnectType = MyPDO.ConnectType.SqlDataDriver;

DBA = new DataAccessor();
DBA.ConnectString = "data source=10.10.35.30;initial catalog=TradeCityT;persist security info=False;user id=sa;pwd=lee;"; //"Provider=SQLOLEDB;data source=10.10.25.63;initial catalog=Master;user id=zha;Password=123;";
DBA.ConnectType = MyPDO.ConnectType.SqlDataDriver;
DBA.Open();
Assert.IsTrue(DBA.IsOpen,"DBA closed");
}

[Test]
public void Trans_Test()
{
string str = "INSERT INTO t_base_manager(ManagerCode, State) values('TEST3',1)";

DBA.AutoCommit = false;
DBA.CommandText = str;
int i = DBA.ExecuteCommand(false);

Assert.IsTrue(i==1);

if(i ==1)
{

Console.Write(i.ToString() + "\n");

Trans2 ts2 = new Trans2();
ts2.Data = DBA;
i +=ts2.Insert();

Console.Write(i.ToString() + "\n");

Assert.IsTrue(i==3);
if(i==3)
{
Trans1 ts1 = new Trans1();
ts1.Data = DBA;
i += ts1.Insert();

Console.Write(i.ToString() + "\n");

}
}

if(i==4)
DBA.CommitTrans();
else
DBA.RollbackTrans();

Console.Write(i.ToString()+ "\n");

}
}
}

Published At
Categories with Web编程
Tagged with
comments powered by Disqus