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

    方法二

                        string str011 = sbDelSQL.ToString();
                        string str012 = sbInsert.ToString();
                        string str013 = sbUpdate.ToString();
                        string str00 = "";
                        List<string> list = new List<string>();
                        list.Add(str011);
                        list.Add(str012);
                        list.Add(str013);
    
    
                        //int idel = SqlHelper.ExecuteNonQuery(delSQL, CommandType.Text);
                        //int iinsert = SqlHelper.ExecuteNonQuery(sbInsert.ToString(), CommandType.Text);
    
                        //删除,新增,修改放入事务执行
    
                        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Sql"].ConnectionString);//获取数据库连bai接
                        con.Open();//打开连接
                        SqlTransaction sqltra = con.BeginTransaction();//开始事务
                        SqlCommand cmd = new SqlCommand();//实例du化
                        cmd.Connection = con;//获取数据连zhi接
                        cmd.Transaction = sqltra;//在执行SQL时,
                        try
                        {
                            cmd.CommandText = str011+ str012 + str013;
                            cmd.ExecuteNonQuery();
                            sqltra.Commit();
                        }
                        catch (Exception ex)
                        {
                            sqltra.Rollback();
                        }
  • 相关阅读:
    day25:接口类和抽象类
    vue1
    How the weather influences your mood?
    机器学习实验方法与原理
    How human activities damage the environment
    Slow food
    Brief Introduction to Esports
    Massive open online course (MOOC)
    Online learning in higher education
    Tensorflow Dataset API
  • 原文地址:https://www.cnblogs.com/wybshyy/p/13783683.html
Copyright © 2020-2023  润新知