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 帮助。
  • 相关阅读:
    PyQt5--Buttons
    PyQt5--Position
    PyQt5--ShowWindowCenter
    PyQt5--MessageBox
    PyQt5--CloseWindow
    PyQt5--ShowTips
    PyQt5---ChangeIcon
    PyQt5---firstwindow
    PyQt5--StatusBar
    PyQt5 的几个核心模块作用
  • 原文地址:https://www.cnblogs.com/scottckt/p/1538515.html
Copyright © 2011-2022 走看看