.net分布式事务例子

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();

  }

 }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值