------- WindowsPhone 7手机开发、.Net培训、期待与您交流! -------
分布式事务:
btnDel_Click()
{
Delete(1);
Delete(2);
}
如果 Delete(1)执行后Delete(2)没有执行的话; 银行转账
回滚
是数据库的原子性
事务(Transaction)
1.TransactionScope采用分布式事务,需要首先在服务器中开启MSDTC,调用ado.net的客户端,数据库服务器都需要开启。
项目添加对System.TransactionScope的引用。
2.操作完成后调用TransactionScope的Complete方法
3.TransactionScope可以实现嵌套式事务,也就是A调用B,B中声明了TransactionScope,A中也声明了TransactionScope,这样如果B没错,但是A中调用B后出错了,则B中的数据库操作也回滚。
c# Code:
btnDel_Click()
{
using(TransactionScope ts=new TransactionScope())
{
Delete(1);
Delete(2);
ts.Cmplete();
}
}