当前位置: 首页 > article >正文

C#操作SqlServer数据库事务

  •  操作事务

    • // 1.连接数据库
      string connstring = @"Server = 李昊轩-212\MSSQLSERVER11;Database = Student;uid = sa;Pwd= 123456";
      SqlConnection conn = new SqlConnection(connstring);
      conn.Open();
      // 2.创建多个sql语句
      List<string> list = new List<string>() {
          "delete from XueSheng where StudentId = 1004",
          "delete from XueSheng where StudentId = 100"
      };
      SqlCommand cmd = new SqlCommand();
      cmd.Connection = conn;
      try
      {
          // 3.开启事务
          cmd.Transaction = conn.BeginTransaction();
          foreach (string s in list)
          {
              // 4.设置执行的sql
              cmd.CommandText = s;
              cmd.ExecuteNonQuery();
          }
          // 5. 如果没有出错 提交事务
          cmd.Transaction.Commit();
      }
      // 6. 如果执行错误 跳转到catch里面 在catch执行回滚
      catch (Exception e)
      {
          if (cmd.Transaction != null)
          {
              cmd.Transaction.Rollback(); // 执行sql语句有错误的情况 执行回滚操作
          }
          throw new Exception("执行删除sql事务出错:" + e.Message);
      }
      finally
      {
          // 7.不管是否执行有误 把事务设置为null 清除事务
          if(cmd.Transaction!= null)
          {
              cmd.Transaction = null;
          }
          conn.Close();
      }


http://www.kler.cn/news/340989.html

相关文章:

  • BMS 硬件工程师面试题
  • 【unity进阶知识8】unity场景Scene的使用, 如何封装一个场景管理器
  • HeidiSQL 数据库密码如何恢复
  • [CTF夺旗赛] CTFshow Web13-14 详细过程保姆级教程~
  • 是否可以将缓存的 hashCode 方法添加到原始字符串?
  • 深度学习模型
  • LabelImag标注工具环境配置
  • 【Matlab案例】imageJ + matlab 实现物体轨迹追踪及路径彩色上色
  • 【数据分析】参数检验与非参数检验
  • C语言 | Leetcode C语言题解之第468题验证IP地址
  • 【python 简易入门应用教程】第一部分:Python 基础
  • 信息安全工程师(40)防火墙技术应用
  • Word 首行缩进 2 字符怎么设置?具体步骤演示
  • html复习
  • 内容营销:基于大模型的内容再利用
  • 循环神经网络-LSTM网络
  • protobuf之Message
  • VirtualBox+Vagrant快速搭建Centos7系统【最新详细教程】
  • 库函数相关(上一篇补充)
  • WPF中的Window类