zoukankan      html  css  js  c++  java
  • asp.net创建事务的方法

    1、建立List用于存放多条语句

        /// <summary>
        /// 保存表单
        /// </summary>
        /// <param name="context"></param>
        protected void save()
        {
            List<string> list = new List<string>();
            list.Add(string.Format("insert into picsone(model,idser,idflg,lmuser,lmdate,lmtime) values('{0}','{1}','{2}','{3}',{4},{5})", "T1002", "Y", "N", "U001", 20161103, 140025));
            list.Add(string.Format("insert into picstwo(model,idser,idflg,lmuser,lmdate,lmtime) values('{0}','{1}','{2}','{3}',{4},{5})", "T1002", "Y", "N", "U001", 20161103, 140025));
            bool bol = ExecuteTransaction(list);
            if (bol)
            {
                MessageBox.Show("保存成功!");
            }
            else
            {
                MessageBox.Show("保存失败!");
            }
        }

    2、调用ExecuteTransaction方法,并返回返回值true为成功,false为失败,语句并回滚

        /// <summary>
        /// 执行语句
        /// </summary>
        /// <param name="list"></param>
        /// <returns></returns>
        private bool ExecuteTransaction(List<string> list)
        {
            using (SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettings["LocalConnectionString"].ToString()))
            {
                SqlCommand command = new SqlCommand();
                SqlTransaction transaction = null;
                try
                {
                    connection.Open();
                    transaction = connection.BeginTransaction();
                    command.Connection = connection;
                    command.Transaction = transaction;
    
                    for (int i = 0; i < list.Count; i++)
                    {
                        command.CommandText = list[i];
                        command.ExecuteNonQuery();
                    }
    
                    transaction.Commit();
                    connection.Close();
                    return true;
                }
                catch
                {
                    transaction.Rollback();
                    connection.Close();
                    return false;
                }
            }
        }
    

      

  • 相关阅读:
    fatal error C1902: 程序数据库管理器不匹配;请检查安装 (zz)
    c++ std string reserve 测试
    2018年长沙理工大学第十三届程序设计竞赛
    2018年东北农业大学春季校赛
    从本质看海明码——海明码的由来
    CodeForces475
    一维背包问题
    2018年长沙理工大学第十三届程序设计竞赛 箱庭的股市
    高精度加法模板
    for,while,do while
  • 原文地址:https://www.cnblogs.com/lengzhan/p/6026375.html
Copyright © 2011-2022 走看看