.net分布式事务例子

王朝c#·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

using System;//引用系统命名空间

using System.Data.OleDb;//引用ADO.net命名空间

using System.Data;//引用数据空间

using System.Runtime.InteropServices;//为了调用GUID

using System.EnterpriseServices;//引用COM+名命空间

using System.Runtime.CompilerServices;//运行时编译服务器

using System.Reflection;//用些全局属性取得强名属性

using System.Data.SqlClient;

[assembly: ApplicationName("COMLibrary")]

//强名文件名和文件属性。用sn.exe生成,用法 sn -k clsStock.snk

//[assembly: AssemblyKeyFileAttribute("clsStock.snk")]

//[assembly: AssemblyKeyName("clsStock.snk")]

[assembly: AssemblyKeyFileAttribute("..\\..\\clsStock.snk")]

[assembly: AssemblyKeyName("..\\..\\clsStock.snk")]

namespace COMLibrary

{

[Transaction(TransactionOption.Required)]

public class DBOperation:ServicedComponent

{

private SqlConnection myConnection;

private SqlCommand myCommand;

/// <summary>

/// connect database

/// </summary>

/// <param name=”connection”>database config infomation

/// formatting : datasource=..;user id=..;password=...

/// </param>

/// <returns></returns>

public void Connect()

{

string connection="workstation id=YANLIXIN;packet size=4096;user id=sa;data source=\"yanlixin\\scgl\";p" +

"ersist security info=True;initial catalog=scgl;password=scgl";

//

myConnection = new SqlConnection( connection );

myConnection.Open();

myCommand = new SqlCommand();

myCommand.Connection = myConnection;

return;

}

/// <summary>

/// Execute one insert statement and insert one record into the table

/// </summary>

/// <param name=”connection”>database config infomation

/// formatting : datasource=..;user id=..;password=...

/// </param>

/// <returns></returns>

public int CommandExcute(string commandstring)

{

int returnValue = 0;

myCommand.CommandText = commandstring;

returnValue = myCommand.ExecuteNonQuery();

return returnValue;

}

/// <summary>

/// Commit the com+ transaction

/// </summary>

public void Commit()

{

ContextUtil.SetComplete();

if(myConnection!=null)

myConnection.Close();

}

/// <summary>

/// Roolback the com+ transaction

/// </summary>

public void Abort()

{

ContextUtil.SetAbort();

if(myConnection!=null)

myConnection.Close();

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航