• 老妖   2014/10/17 9:10:00
  • 如何使用 CommittableTransaction 执行显式事务?
  • 关键字: 事务 关联事务 Transactions
  • 准备工作

    1.添加 System.Transactions 引用(在解决方案的网站上右键);
    2.引用 System.Transactions 名称空间。

    示例讲解

    using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection String"].ConnectionString))
                {
                    using (var ct = new CommittableTransaction())
                    {
                        conn.Open();
                        conn.EnlistTransaction(ct);//关联事务
                        using (var cmd = new SqlCommand())
                        {
                            cmd.Connection = conn;
                            cmd.CommandType = CommandType.Text;
                            try
                            {
                                cmd.CommandText = "insert into TranTable(Priority) values(1)";
                                cmd.ExecuteNonQuery();
                                cmd.CommandText = "insert into TranTable(Priority) values(256)";
                                cmd.ExecuteNonQuery();
                                ct.Commit();
                                Response.Write("Ok");
                            }
                            catch (SqlException ex)
                            {
                                ct.Rollback();
                                Response.Write("Error:" + ex.Message);
                            }
                        }
                    }
                    conn.Close();
                }

大家的回答
  • 还没有人回答这个问题哦,亲,快来帮帮TA吧
  •   我来回答
  • 注册用户登录后才能发表评论,请 登录注册
  • 请您注意

    ·自觉遵守:爱国、守法、自律、真实、文明的原则

    ·尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规

    ·严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品

    ·承担一切因您的行为而直接或间接导致的民事或刑事法律责任

    ·您在编程中国社区新闻评论发表的作品,本网站有权在网站内保留、转载、引用或者删除

    ·参与本评论即表明您已经阅读并接受上述条款

  • 相关话题
  • 暂无相关话题哦
  • 感谢以下赞助商