C# SqlTransaction事务,先从后主

 using (SqlConnection connection = new SqlConnection(connectionString))
            {

                //事务启动是通过connection来开启
                connection.Open();
                SqlTransaction trans = connection.BeginTransaction();//开启一个事务
                SqlCommand cmd = new SqlCommand();//利用SqlCommand执行任务
                //为挂起的本地事务将事务对象和连接部分分配给命令对象
                cmd.Connection = connection;
                cmd.Transaction = trans;
                try
                {
                    //删除
                    cmd.CommandText = "delete T_User_Info where  Id='1'";
                    cmd.CommandType = CommandType.Text;
                    cmd.Parameters.Clear();
                    cmd.ExecuteNonQuery();
                    //添加
                    cmd.CommandText = "insert into T_User_Info (Id,Name) values('1','某某')";
                    cmd.CommandType = CommandType.Text;
                    cmd.Parameters.Clear();
                    cmd.ExecuteNonQuery();
                    trans.Commit();//提交事务,代表所有的事务已经提交到数据库
                }
                catch (Exception ex)
                {
                    //catch特定用法,从挂起状态滚回事务
                    trans.Rollback();
                    Console.WriteLine(ex.Message);
                }
                connection.Close();
            }
原文地址:https://www.cnblogs.com/yueyongsheng/p/13731689.html