zoukankan      html  css  js  c++  java
  • C# 使用事务

         事务可控制和维护事务中每个操作的一致性和完整性。具体说明可参考其它文章。
    这里主要是说明在C#中执行事务的使用方法。其代码如下:

        /// <summary>
        
    /// 执行事务
        
    /// </summary>
        
    /// <param name="sSqlList">一次执行的多条语句列表</param>
        public void RunOldDbTransaction(string[] sSqlList)
        {
            sConnectionString 
    = ConfigurationManager.AppSettings.Get("UserConnection");
            OracleConnection ocConnection 
    = new OracleConnection(sConnectionString);
            ocConnection.Open();
            
    //创建并开启事务
            OracleTransaction oraTrans = ocConnection.BeginTransaction(IsolationLevel.ReadCommitted);
            OracleCommand ocCommand 
    = ocConnection.CreateCommand();
            ocCommand.Transaction 
    = oraTrans;
            
    try
            {
                
    //循环事务中语句
                foreach (string sVal in sSqlList)
                {
                    ocCommand.CommandText 
    = sVal;
                    ocCommand.ExecuteNonQuery();
                }
                
    //完成后确认事务
                oraTrans.Commit();
            }
            
    catch (Exception ex)
            {
                
    //出错后回滚事务
                oraTrans.Rollback();
                
    throw ex;
            }
            
    finally
            {
                ocConnection.Close();
            }
        }


    注:SQL中用法
    BEGIN TRANS
      
    DECLARE @orderDetailsError int@productError int
      
    //执行的语句1
      
    DELETE FROM Order Details WHERE ID=111
      
    //得到错误
      
    SELECT @orderDetailsError = @@ERROR
      
    //执行的语句2
      
    DELETE FROM Products WHERE ProductID=112
      
    //得到另外一个错误
      
    SELECT @productError = @@ERROR
      
    IF @orderDetailsError = 0 AND @productError = 0
        
    COMMIT TRANS
      
    ELSE
        
    ROLLBACK TRANS
    这种方法可以查阅相关sql server 帮助。
  • 相关阅读:
    课程设计第八天,8.26
    课程设计第七天,08.25
    赖世雄英语
    英语语法-小学
    CSS(Cascading Style Sheet)
    Coredraw x7
    Servlet
    团队作业4——第一次项目冲刺(Alpha版本)2017.11.18
    团队作业4——第一次项目冲刺(Alpha版本)2017.11.16
    团队作业4——第一次项目冲刺(Alpha版本)2017.11.14
  • 原文地址:https://www.cnblogs.com/scottckt/p/1538515.html
Copyright © 2011-2022 走看看