TransactionScope 使用的注意事项
程序员文章站
2022-03-06 23:01:27
前两天为了给代码做一些事务封装,写了个小Demo,用TransactionScope代码块实现。 第一条更新成功后第二条刻意抛出异常,结果发现第一条总执行成功,这不符合预期,于是开始一步步跟踪调试。 发现是因为我为了更新前后有个对比,更新前把数据打印出来了,查询时候打开了数据库连接,而这个连接没有关 ......
前两天为了给代码做一些事务封装,写了个小demo,用transactionscope代码块实现。
第一条更新成功后第二条刻意抛出异常,结果发现第一条总执行成功,这不符合预期,于是开始一步步跟踪调试。
发现是因为我为了更新前后有个对比,更新前把数据打印出来了,查询时候打开了数据库连接,而这个连接没有关闭,被后面的更新复用了,这就是问题所在。
transactionscope 实现事务,必须在代码块范围内打开数据库连接,这样才能保证被登记到事物里面,否则是不生效的。
推荐阅读
-
如何使用SecureCRT连接虚拟机中的Linux?
-
MySQL数据库几种常用的索引类型使用介绍
-
微信小程序点击按钮动态添加输入框,点击步进器按钮获取输入框的值进行加减计算--不使用表单
-
PowerPoint2007如何修改最近使用文档列表中的显示条数
-
PS阴影滤镜是什么效果? ps使用阴影滤镜的教程
-
MobileForm控件的使用方式-用.NET(C#)开发APP的学习日志
-
JAVA多线程中join()方法的使用方法
-
[Laravel] Laravel的基本使用,laravel使用
-
Oracle包的使用
-
springboot整合shiro多验证登录功能的实现(账号密码登录和使用手机验证码登录)