using (SqlConnection conn = new SqlConnection())
{
SqlCommand cmd = conn.CreateCommand();
//启动事务
SqlTransaction trann = conn.BeginTransaction(); //设定SqlCommand的事务和连接对象
cmd.Connection = conn;
cmd.Transaction = trann;
try
{
cmd.CommandText = "...";
cmd.ExecuteNonQuery(); trann.Commit(); }
catch (Exception ex)
{
//数据回滚
trann.Rollback();
throw;
}
}

数据库中的事务 在提交之前会对涉及的表进行排它锁 长时间不释放 会导致 涉及的表无法查询;
解决办法:查询时 使用 with(nolock) 会查询出 还未被提交的操作结果
使用事务的操作时间控制在一定范围内 不要在事务中做 无关操作从而导致长时间占着资源

 

最新文章

  1. 使用spring rest插入数据库时发生了 前言中不允许有内容 错误
  2. 黑马程序员:Java编程_多线程
  3. 【转】IOS学习笔记29—提示框第三方库之MBProgressHUD
  4. 详细讲解 关于Linux静态库和动态库的分析
  5. 自从用了Less 编写css,你比以前更快了~(sublime编译)
  6. Erlang分布式在linux和windows上的注意事项
  7. python学习之---生成器
  8. 转:USB主机控制器(Host Controller)--深入理解
  9. Android开发之模板模式初探
  10. 淘宝的数据库拆分(TDDL)(转)
  11. java语言在某个数组中查找某个字符出现的次数
  12. Spring 中@NotNull, @NotEmpty和@NotBlank之间的区别是什么?
  13. Django入门之路
  14. 免费获取SSL证书/一键安装SSL证书/https加密
  15. Guava 源码分析(Cache 原理)
  16. css杂项补充
  17. P1379 八数码naive题,STL的胜利
  18. 【转】Redis 总结精讲 看一篇成高手系统-4
  19. mac下用户用户组命令行操作
  20. RTCM32转码至RTCM23,再次测试,一些收获

热门文章

  1. sprintf函数 %6.2f
  2. 6/7 sprint2 看板和燃尽图的更新
  3. Oracle 默认的driectory 目录
  4. java 一般类属性设置常量 用以长久使用
  5. Post Lamps CodeForces - 990E(暴力出奇迹?)
  6. XOR and Favorite Number CodeForces - 617E(前缀异或+莫队)
  7. Oracle 双字段过滤
  8. 在前台jsp页面中取得并使用后台放入域中变量的方法
  9. pickle 在python2 to python3 编码出现错误
  10. python基础2--字典