C# 事务
事务保存点
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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();
回滚到保存点后,不在此提交的话不能持久化到数据库。