事务的作用和用法

(作者:杨东升,撰写时间:2019年04月05日)

什么是事务?

事务就是保证一次就成功,要么全成功,要么都失败,保证数据的正确性,如果某一步出现了异常,数据就会回滚,把之前的操作撤销,一般用于涉及多表或多数据的时候使用;举个栗子:微信支付都用过吧,它的原理就是把付款方的金额减掉,然后在收款方的金额里加上对应的金额,这两个操作是一定要有的,总不能把付款方的金额减掉了,然后出现了异常,收款方的金额没加上去吧,这样用户还不上门找你算账?所以,我们就要在涉及多表或多数据的时候,加上事务,保证数据的正确性。

事务怎么使用?

事务Vs中默认没引用,我们要自己去引用一下。
事务的作用和用法_第1张图片

首先在引用这右键,点添加引用:
事务的作用和用法_第2张图片

然后依此选择程序集/框架/System.Transactions,再把System.Transactions给勾上,再点确定:
事务的作用和用法_第3张图片

然后在代码里引用一下就可以了(把鼠标移到红线那,会出现一个黄色的灯,点击System.Transactions就引用了)
事务的作用和用法_第4张图片

用了事务,就一定要在你要做的操作做完之后提交事务,只有提交了事务,数据才会保存到数据库(在using括起来部分的里面提交事务)。
事务的作用和用法_第5张图片

如果在某一步失败了,scope.Complete();会执行不了,using把变量自动回收掉,数据就会回滚,然后就会回到操作前的操作,就可以避免出现一半成功一半失败的情况了。

你可能感兴趣的:(事务的作用和用法)