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;
    }
    }

  • 相关阅读:
    世界编程大赛第一名编写的程序3D世界
    bool与BOOL
    防浪涌电路
    用户至上,体验第一
    VC菜菜鸟创建多线程任务HelloWorld
    Google,a good dog
    算法学习之路
    巧用VC工程下的rc文件
    堆与栈
    关于信息量的压缩
  • 原文地址:https://www.cnblogs.com/zhuyapeng/p/5665747.html
Copyright © 2011-2022 走看看