zoukankan      html  css  js  c++  java
  • ADO执行事务

    在工作中遇到,需要批量提交的。在sql2008以后有表变量定义,可以实现。但个人比较习惯用C#,就有下面代码,直接上代码。。。

    using (SqlConnection conn = new SqlConnection(Conn.Connection))
    {
    conn.Open();
    SqlCommand comm = new SqlCommand() { Connection = conn };
    SqlTransaction tran = conn.BeginTransaction();
    comm.Transaction = tran;
    try
    {
    comm.CommandType = CommandType.StoredProcedure;
    comm.CommandText = "tb_role_INSERT";
    SqlParameter[] parms = new SqlParameter[] {
    new SqlParameter {ParameterName="@code",Value=array[0].ToString(),SqlDbType=SqlDbType.NVarChar, Size = 100 },
    new SqlParameter {ParameterName="@name",Value=array[1].ToString(),SqlDbType=SqlDbType.NVarChar, Size = 500 },
    new SqlParameter {ParameterName="@remark",Value=array[2].ToString(),SqlDbType=SqlDbType.NText},
    new SqlParameter {ParameterName="@create_time",Value=DateTime.Now,SqlDbType=SqlDbType.DateTime},
    new SqlParameter {ParameterName="@create_user_id",Value=Lib.ReadCookie("UserID"),SqlDbType=SqlDbType.Int},
    new SqlParameter {ParameterName="@is_active",Value=1,SqlDbType=SqlDbType.Int},
    new SqlParameter {ParameterName="@manufacturer_id",Value=Lib.ReadCookie("ManuID"),SqlDbType=SqlDbType.Int},
    new SqlParameter {ParameterName="@custid",Value=Lib.ReadCookie("CustID"),SqlDbType=SqlDbType.Int},
    new SqlParameter{ParameterName="@tb_roleID",Direction=ParameterDirection.Output,SqlDbType=SqlDbType.Int},
    };
    comm.Parameters.AddRange(parms);
    comm.ExecuteNonQuery();
    int id = Convert.ToInt32(comm.Parameters["@tb_roleID"].Value);

    ArrayList sqlList = GetRolePermissionList(id, array[7].ToString());
    for (int i = 0; i < sqlList.Count; i++)
    {
    string str2 = sqlList[i].ToString();
    if (str2.Trim().Length > 1)
    {
    comm.CommandType = CommandType.Text;
    comm.CommandText = str2;
    comm.ExecuteNonQuery();
    }
    }

    tran.Commit();
    }
    catch (SqlException ex)
    {
    tran.Rollback();
    messge = ex.Message;
    }
    }

  • 相关阅读:
    JVM垃圾收集器-Parallel Scavenge收集器
    JVM垃圾收集器-ParNew收集器
    JVM垃圾收集器-Serial收集器
    UCloud数据盘扩容步骤
    java中强引用、软引用、弱引用、幻象引用有什么区别?分别使用在什么场景?
    java中exception和error有什么区别,运行时异常和一般异常有什么区别
    maven中的坐标和仓库
    Maven常用的构建命令
    Maven学习
    【设计原则和编程技巧】单一职责原则 (Single Responsibility Principle, SRP)
  • 原文地址:https://www.cnblogs.com/zhuyapeng/p/5665747.html
Copyright © 2011-2022 走看看