分布式事务管理 CommittableTransaction

来源:互联网 发布:to be continue网络剧 编辑:程序博客网 时间:2024/06/03 23:14
对于分布式事务的处理与本地事务的处理有很大的区别,首先必须保证你所使用的数据库必须支持对分布式事务的支持,有些数据库只支持本地事务
 private void AddItem(int id, int money, Transaction trans)        {            SqlConnection conn = new SqlConnection(Str_DataBase);            conn.Open();            conn.EnlistTransaction(trans);                        SqlCommand command = conn.CreateCommand();            command.CommandText = "INSERT INTO [t1] VALUES(@id,@money)";            command.Parameters.AddWithValue("@id", id);            command.Parameters.AddWithValue("@money", money);            command.ExecuteNonQuery();            conn.Close();        }        private void button3_Click(object sender, EventArgs e)        {            try            {                CommittableTransaction trans = new CommittableTransaction();                             AddItem(3, 3, trans);                AddItem(4, 4, trans);                trans.Rollback();                            }            catch (Exception e_con)            {                MessageBox.Show(e_con.Message);            }        }