在事务中执行sql语句

  1. public static void ExecuteSqlWithGoUseTran(String sql)  
        {  
             using  (SqlConnection conn =  new  SqlConnection(connectionString))  
            {  
                conn.Open();  
                SqlCommand cmd =  new  SqlCommand();  
                cmd.Connection = conn;  
                SqlTransaction tx = conn.BeginTransaction();  
                cmd.Transaction = tx;  
                 try   
                {  
                     //注: 此处以 换行_后面带0到多个空格_再后面是go 来分割字符串   
                    String[] sqlArr = Regex.Split(sql.Trim(),  "\r\n\\s*go" , RegexOptions.IgnoreCase);    
                     foreach  ( string  strsql  in  sqlArr)  
                    {  
                         if  (strsql.Trim().Length > 1 && strsql.Trim() !=  "\r\n" )  
                        {  
                            cmd.CommandText = strsql;  
                            cmd.ExecuteNonQuery();  
                        }  
                    }  
                    tx.Commit();  
                }  
                 catch  (System.Data.SqlClient.SqlException E)  
                {  
                    tx.Rollback();  
                     throw   new  Exception(E.Message);  
                }  
                 finally   
                {  
                    conn.Close();  
                }  
            }  
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

燕儿归

感谢感谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值