C# 事务

C#综合揭秘 -- 细说事务

 

事务保存点

SqlConnection conn = new SqlConnection("data source=127.0.0.1;initial catalog=Test;user id=sa;password=123;MultipleActiveResultSets=true");
            conn.Open();
            SqlTransaction sqlTransaction = conn.BeginTransaction("testSavePointTran");
            SqlCommand sqlCommand = conn.CreateCommand();
            sqlCommand.CommandText = "UPDATE Test.dbo.Documents SET Title='ts1' WHERE id=5;";
            sqlCommand.Transaction = sqlTransaction;
            int r1 = sqlCommand.ExecuteNonQuery();
            sqlTransaction.Save("aaa");

            sqlCommand.CommandText = "UPDATE Test.dbo.Documents SET Title='ts1' WHERE id=6;";
            int r2 = sqlCommand.ExecuteNonQuery();
            sqlTransaction.Save("bbb");

            sqlCommand.CommandText = @" INSERT INTO Test.dbo.Types(Name,Description)VALUES('bs','bs')";
            int r3 = sqlCommand.ExecuteNonQuery();
            sqlTransaction.Save("ccc");

            sqlTransaction.Rollback("aaa");
            sqlTransaction.Commit();
            conn.Close();
View Code

回滚到保存点后,不在此提交的话不能持久化到数据库。

 

事务总结

posted @ 2020-03-30 17:57  vvf  阅读(158)  评论(0编辑  收藏  举报