首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

事物回滚的有关问题

2012-04-25 
事物回滚的问题C# codeusing (SqlConnection Conn new SqlConnection(connectString)){Conn.Open()usin

事物回滚的问题

C# code
            using (SqlConnection Conn = new SqlConnection(connectString))            {                Conn.Open();                using (SqlTransaction Tran = Conn.BeginTransaction())                {                    using (SqlCommand Comm = new SqlCommand() { Connection = Conn, Transaction = Tran })                    {                        try                        {                            Comm.CommandType = CommandType.StoredProcedure;                            Comm.CommandText = "存储过程1";                            Comm.Parameters.AddRange(MaParas(order));                            Comm.ExecuteNonQuery();                                                        Comm.CommandType = CommandType.StoredProcedure;                            Comm.CommandText = "存储过程2";                            for (int i = 0; i < ModelList.Count; i++)                            {                                Comm.Parameters.Clear();                                Comm.Parameters.AddRange(LbParas(ModelList[i]));                                Comm.ExecuteNonQuery();                            }                            Tran.Commit();                                                    }                        catch (Exception ex)                        {                            Tran.Rollback();                        }                    }                }            }



我想问,当在“存储过程2”出现错误的时候,怎么回滚“存储过程1”的操作呢

[解决办法]
你不是已经写好了吗?

[解决办法]
SqlTransaction Tran = Conn.BeginTransaction()
已经开启事务.
自动回滚
如果两存储过程参数差不多,可放在一起更好

热点排行