zoukankan      html  css  js  c++  java
  • .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();

    }

    }
    }
  • 相关阅读:
    sql中别名加as和不加as的区别
    easyui 扩展 datagrid 数据网格视图
    asp.net 版本一键升级,后台直接调用升级脚本
    SQLserver 还原数据库报“指定转换无效”的错的解决方案
    sql视图显示数据不对应
    django channels 实现实时通讯,主动推送
    django orm信号机制 + apschedule 定时任务
    django 使用原始SQL语句方式
    Django model 常用查询(搬运来备份的)
    Python3+ Django2.7开发web排坑记006 apache+wsgi部署应用
  • 原文地址:https://www.cnblogs.com/huqingyu/p/758061.html
Copyright © 2011-2022 走看看