c# 中事务处理

1.在c#中,使用以下语句,就可以不用再数据库中进行事务语句处理了。

TransactionOptions transactionOption = new TransactionOptions() ;

//设置事务隔离级别

transactionOption.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
transactionOption.Timeout = new TimeSpan(0,5,600);
using( TransactionScope ts = new TransactionScope( TransactionScopeOption.Required,transactionOption ))
{

  //

  //sql语句。

  //

  ts.Complete();
  ts.Dispose();//这2句一定要增加,否则不能进行数据的提交。

}

经过以上处理后,就不需要再次在数据库中进行事务的数据处理了。

时间: 2024-10-10 15:57:54

c# 中事务处理的相关文章

PHP MYSQLI中事务处理

MYSQL事务处理让所有sql语句执行成功后才去处理,如果有一条没有成功或者报错就会回滚事务,防止敏感操作处理失败.MYSQL中只有INNODB和BDB类型的数据表才能支持事务处理!其它类型是不支持的! $mysqli->autocommit(FALSE); //关闭自动提交功能 $sql = "UPDATE users SET money = money-300 WHERE username = 'Mike'"; $res1 = $mysqli->query($sql);

跟我一起学WCF(10)——WCF中事务处理

一.引言 好久没更新,总感觉自己欠了什么一样的,所以今天迫不及待地来更新了,因为后面还有好几个系列准备些,还有很多东西需要学习总结的.今天就来介绍下WCF对事务的支持. 二.WCF事务详解 2.1 事务概念与属性 首先,大家在学习数据库的时候就已经接触到事务这个概念了.所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单元.例如,银行转账功能,这个功能涉及两个逻辑操作 从一个账户A中扣钱 另一个账户B增加对应的钱. 现实生活中,这两个操作需要要么都执行,要么都不

了解Entity Framework中事务处理

Entity Framework 6以前,框架本身并没有提供显式的事务处理方案,在EF6中提供了事务处理的API. 所有版本的EF,只要你调用SaveChanges方法进行插入.修改或删除,EF框架会自动将该操作进行事务包装.这种方法无法对事务进行显式的控制,例如新建事务等,可能会造成事务的粒度非常大,降低效率.EF不会对查询进行事务包装. 从EF6开始,默认情况下,如果每次调用Database.ExecuteSqlCommand(),如果其不在存在于任何事务中,则会将该Command包装到一个

oracle中事务处理

事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功,要么全部失败. 事务和锁 当执行事务操作时(dml语句),oracle会在被作用的表上加锁,防止其它用户改表的结构,这里对我们用户来讲是非常重要的. 提交事务 当执行commit语句可以提交事务,当执行了commit语句后,会确认事务的变化.结束事务.删除保存点.释放锁,当使用commit语句结束事务后,其它会话将可以查看到事务变化后的新数据. 回退事务 在介绍回退事务前,我们先介绍一下保存点(savepoin

Redis缓存技术学习系列之事务处理

?在本系列的第一篇文章中,我们主要针对Redis中的"键"和"值"进行了学习.我们可以注意到,Redis是一个C/S架构的数据库,在我们目前的认知中,它是通过终端中的一条条命令来存储和读取的,即它是一个非常典型的"请求-响应"模型.可是我们知道在实际的应用中,我们要面对的或许是更为复杂的业务逻辑,因为Redis中不存在传统关系型数据库中表的概念,因此在使用Redis的过程中,我们要面对两个实际的问题,即如何更好的维护数据库中的"键&qu

Java事务处理全解析(三)——丑陋的案例

在本系列的上一篇文章中,我们看到了一个典型的事务处理失败的案例,其主要原因在于,service层和各个DAO所使用的Connection是不一样的,而JDBC中事务处理的作用对象正是Connection对象,所以不同DAO中的操作不在同一个事务里面,从而导致事务失败.从中我们得出了教训:要避免这种失败,我们可以使所有操作共享一个Connection对象,这样应该就没有问题了. 在本篇文章中,我们将看到一个成功的,但是丑陋的事务处理方案,它的基本思路是:在service层创建Connection对

Java事务处理全解析(一)——Java事务处理的基本问题

Java中的事务处理有多简单?在使用EJB时,事务在我们几乎察觉不到的情况下发挥着作用:而在使用Spring时,也只需要配置一个TransactionManager,然后在需要事务的方法上加上Transactional注解就行了.Java的事务处理之所以这么简单是因为框架在背后为我们做了太多的工作.这样,我们虽然可以快速地完成开发工作,但是一旦程序出现问题,在一阵google和stackoverflow之后,你估计还是一筹莫展.作为一个有技术追求的程序员,你应该了解Java事务的底层工作原理.

Java事务处理全解析(五)—— Template模式

在本系列的上一篇文章中,我们讲到了使用TransactionManger和ConnectionHolder完成线程安全的事务管理,在本篇中,我们将在此基础上引入Template模式进行事务管理. Template模式大家应该都很熟悉,比如Spring就提供了许多Template,像JdbcTemplate和JmsTemplate等.Template模式的基本思想是:在超类里将完成核心功能的方法声明为抽象方法,留给子类去实现,而在超类中完成一些通用操作,比如JMS的Session的建立和数据库事务

MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

首先需要回顾一下上一篇文章中的内容:MySQL数据库学习笔记(九)----JDBC的PreparedStatement接口重构增删改查 一.JDBC事务处理: 我们已经知道,事务的概念即:所有的操作要么同时成功,要么同时失败.在MySQL中提供了Commit.Rollback命令进行事务的提交与回滚.实际上在JDBC中也存在事务处理,如果要想进行事务处理的话,则必须按照以下的步骤完成. JDBC中事务处理的步骤: 1.要取消掉JDBC的自动提交:void setAutoCommit(boolea