zoukankan      html  css  js  c++  java
  • ADO.Net事务处理

    SQL Server中的事务可以将多个数据库增删改查操作合并为单个工作单元,在操作过程中任何部分出错都可以滚回已经执行的所有更改.ADO.Net中也提供了事务处理功能,通过ADO.net事务,可以将多个任务绑定在一起,如果所有的任务成功,就提交事务,如果有一个任务失败,就讲滚回事务.ADO.Net事务通过该Transaction类实现,每个.Net Framework 数据提供程序都有自己的Transaction 类执行事务.例如,事务在SQL Server数据库中执行,则需要引入System.Data.Sqlclient命名空间,对应的事务对象为SQLTransaction.

     

    执行ADO.Net事务包含四个步骤,接下来以SQLTransaction对象为例介绍:

     

    1:调用SqlConnection对象的BeginTransaction()方法,创建一个SqlTransaction对象标记事务开始

    2:将创建的SqlTransaction对象分配给要执行的SqlCommand的Transaction属性
    3:调用想对应的方法执行SQLCommand命令
    4:调用SqlTransaction的Commit()方法完成事务,或者调用Rollback()方法终止事务

    (注意事项:在调用BeginTransaction()方法开始事务之前,要打开数据库连接,否则将出现异常)
    SqlTransaction trans = null;
    SqlConnection con = new Sqlconnection("数据库连接语句");
    try
    {
      con.Open();
      trans = con.BeginTransaction();
      SqlCommand com = new SqlCommand();
      //一下4步是要执行SqlParameter,如果不执行可以直接跳过使用com.CommandText="SQL语句";
      com.CommandText = @"数据库语句 条件=@变量";
      SqlParameter para = new SqlParameter("变量","");
      com.Parameters.Add(para);
      com.CommandText=com.CommandText;
     
      com.Connection=con;
      com.Transaction=trans;
      com.ExecuteNonQuery();//执行方式自己选择
      trans.Commit();//执行提交事务
     
    }catch
    {
      trans.Rollback();//如果前面有异常则事务回滚
    }
    finally
    {
      con.Close();
    }
  • 相关阅读:
    1.28
    1.27
    1.26
    如果给你以下功能怎么测试
    测试面试题
    对h5页面的测试方式
    完美解决linux下Django报错Error: That port is already in use.
    KeyError:使用Python的Appium中的“ touchAction” 错误码
    Appium自动化测试
    selenium IDE使用
  • 原文地址:https://www.cnblogs.com/Xanthus/p/9589519.html
Copyright © 2011-2022 走看看