通过执行多条SQL语句实现数据库事务

数据库 SQL Server
如果您对SQL语句和事务感兴趣的话,不妨看看下文,下面将为您介绍如何执行多条SQL语句,实现数据库事务的方法,供您参考。

下面将为您介绍如何执行多条SQL语句,实现数据库事务的方法,供您参考,如果您对SQL语句和事务感兴趣的话,不妨一看,详细对您学习SQL大有帮助。

/// <summary>
    /// 执行多条SQL语句,实现数据库事务。
    /// </summary>
    /// <param name="SQLStringList">多条SQL语句</param>       
    public static void ExecuteSqlTran(IList<string> SQLStringList)
    {
        using (SqlConnection conn = new SqlConnection(connectionString))
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;
            SqlTransaction tx = conn.BeginTransaction();
            cmd.Transaction = tx;
            try
            {
                for (int n = 0; n < SQLStringList.Count; n++)
                {
                    string strsql = SQLStringList[n].ToString();
                    if (strsql.Trim().Length > 1)
                    {
                        cmd.CommandText = strsql;
                        cmd.ExecuteNonQuery();
                    }
                }
                tx.Commit();
            }
            catch (System.Data.SqlClient.SqlException E)
            {
                tx.Rollback();
                throw new Exception(E.Message);
            }
        }
    }

protected void btnOk_Click(object sender, EventArgs e)
    {
     string upsql = "update 表 set=123 where id=";//省略其他SET
        IList<string> l = new List<string>();
        for (int i = 0; i <this.DataList1.Items.Count; i++) { CheckBox c= (CheckBox)this.DataList1.Items[i].FindControl("CheckBox1");
            TextBox tb = (TextBox)this.DataList1.Items[i].FindControl("TextBox1");
            //下面几个TextBox省略
            if(c.Checked)
            {
                l.Add("update 表 set='"+tb.Text+"' where id="+ this.DataList1.DataKeys[i].ToString());
            }
        }
        SqlServerHelper.ExecuteSqlTran(l);
    }


 
【编辑推荐】

存储过程优化的SQL语句写法

使用存储过程检查引起死锁的SQL语句及进程

SQL语句中CASE WHEN的使用实例

巧用GO将多次重复执行SQL语句

父子分类关系查询使用的SQL语句介绍

责任编辑:段燃 来源: 博客园
相关推荐

2011-08-15 14:29:52

SQL Server数事务

2010-11-18 10:06:16

Oracle数据库性能

2011-06-27 14:44:30

Qt 数据库 QSqlQuery

2011-06-27 14:31:29

Qt 数据库 SQL语句

2011-06-27 14:17:35

Qt 数据库 QSqlQuery

2010-04-16 09:41:42

Oracle数据库查看

2009-03-09 17:46:16

ASP.NETSQLOracle

2011-01-06 09:28:19

SQL语句

2010-09-07 16:12:36

SQL语句数据库压缩

2011-08-01 22:41:49

SQL Server数Insert

2010-09-07 15:31:20

SQL语句事务

2022-06-13 10:42:21

分布式事务数据库

2010-06-28 10:36:42

SQL Server数

2011-09-09 10:10:13

SQL数据库点滴

2011-09-01 19:00:08

SQL ServerDBCC语句

2010-09-08 15:55:20

SQL事务特性

2010-07-05 17:41:37

SQL Server

2019-03-01 18:50:09

SQL Server数据库备份并压缩

2010-07-15 15:37:13

SQL Server数

2010-05-11 10:12:50

mysql数据库sql
点赞
收藏

51CTO技术栈公众号