事务,.net事务
事务就是一组原子性的SQL查询,或者说一个独立的工作单元。如果数据库引擎能够成功地对数据库应用该组查询的全部语句,那么就执行该组查询。如果其中有任何一条语句因为崩溃或者其他原因无法执行,那么所有语句都不会执行。也就是说,事务中的语句,要么全部执行成功,要么全部执行失败。
假设小明给老王转100元钱,就需要执行以下两个过程:
1.小明账号金额减少100元
2.老王账户金额增加100元
事务主要有以下四个特点
1.原子性
一个事务必须是一个不可分割的最小工作单元,上述转账要执行的话必须全部执行全部两个过程
2.一致性
小明和老王两个账户总额在没有别的事务情况下是不会变多也不会变少
3.隔离性
假设上述事务只进行了过程1,因为还没有提交,所以别的事务不会知道小明少了100元
4.持久性
一旦事务提交,其所作的修改就一直会保存在数据库中不会丢失
BeginTrans用于开始一个事物;RollbackTrans用于回滚事务;CommitTrans用于提交所有的事务处理结果,即确认事务的处理。
事务处理可以将一组操作视为一个整体,只有全部语句都成功执行后,事务处理才算成功;若其中有一个语句执行失败,则整个处理就算失败,并恢复到处里前的状态。
BeginTrans和CommitTrans用于标记事务的开始和结束,在这两个之间的语句,就是作为事务处理的语句。判断事务处理是否成功,可通过连接对象的Error集合来实现,若Error集合的成员个数不为0,则说明有错误发生,事务处理失败。Error集合中的每一个Error对象,代表一个错误信息。
BeginTrans用于开始一个事物;RollbackTrans用于回滚事务;CommitTrans用于提交所有的事务处理结果,即确认事务的处理。
事务处理可以将一组操作视为一个整体,只有全部语句都成功执行后,事务处理才算成功;若其中有一个语句执行失败,则整个处理就算失败,并恢复到处里前的状态。
BeginTrans和CommitTrans用于标记事务的开始和结束,在这两个之间的语句,就是作为事务处理的语句。判断事务处理是否成功,可通过连接对象的Error集合来实现,若Error集合的成员个数不为0,则说明有错误发生,事务处理失败。Error集合中的每一个Error对象,代表一个错误信息。