开发框架修正重要bug,使用SqlDataAdapter.Update方法后没有关闭SQL连接


  开发框架修正重要bug,使用SqlDataAdapter.Update方法后没有关闭SQL连接开发框架修正重要bug,使用SqlDataAdapter.Update方法后没有关闭SQL连接



解决方案:


定义_CurrentConnection 成员变量,BeginTransaction方法内实例化,然后在CommitTransaction,RollbackTransaction方法内关闭连接。

若没有使用dalBase基类,定制的源码使用SqlDataAdapter.Update方法要注意关闭连接。

修改dalBase.cs文件,新加及修改的代码参考:


C# Code:


/// <summary>
/// 当前启用的事务
/// </summary>
protected SqlTransaction _CurrentTrans = null;

/// <summary>
/// 当前事务的连接
/// </summary>
protected SqlConnection _CurrentConnection = null;

/// <summary>
/// 启用事务控制
/// </summary>
protected virtual void BeginTransaction()
{
   _CurrentConnection = DataProvider.Instance.CreateConnection(_DBName);
   _CurrentTrans = _CurrentConnection.BeginTransaction();
}

/// <summary>
/// 提交事务
/// </summary>
protected virtual void CommitTransaction()
{
   try
   {
      if (_CurrentTrans != null)
      {
         _CurrentTrans.Commit();
         _CurrentTrans = null;
         DataProvider.Instance.CloseConnection(_CurrentConnection);
      }
   }
   catch
   {
      DataProvider.Instance.CloseConnection(_CurrentConnection);
      throw;
   }
}

/// <summary>
/// 事务回滚
/// </summary>
protected virtual void RollbackTransaction()
{
   try
   {
      if (_CurrentTrans != null)
      {
         _CurrentTrans.Rollback();
         _CurrentTrans = null;
         DataProvider.Instance.CloseConnection(_CurrentConnection);
      }
   }
   catch
   {
      DataProvider.Instance.CloseConnection(_CurrentConnection);
      throw;
   }
}

//来源:C/S框架网(www.csframework.com) QQ:1980854898




C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
上一篇:运行开发框架SQL连接池变动情况测试报告
下一篇:命名空间"FastReport"中不存在类型或命名空间名称"Export"。是否缺少程序集引用?
评论列表

发表评论

评论内容
昵称:
关联文章

开发框架修正重要bug,使用SqlDataAdapter.Update方法没有关闭SQL连接
C#使用using语法自动关闭SQLConnection数据库连接
V4:菜单管理有bug, 已修正
SQL连接字符串设置连接
SQL连接池完整测试报告
校验明细表数据ValidatingDetailData方法BUG
SQL Server连接池基本原理
运行开发框架SQL连接池变动情况测试报告
软件开发框架-WebApi框架培训大纲(1)
开发框架怎样设置管理员用户 tb_MeyUser表重要字段详解
BUG: dalUser.CopyPermission方法
SqlDataAdapter.FillSchema(DataTable)方法填充数据表的主键和约束
使用T-SQL语句配置SQL Server连接池允许的并发用户连接的最大数目
Web开发框架,WebApi端主流开发框架介绍
对象的属性若使用get;set;访问器没有指定成员变量,代码混淆会丢失数据
权限管理发现两处BUG及解决方法
CS框架V2.2支持三种SQL连接配置存储位置
Web开发框架-VUE使用Axios调用台WebAPI接口
.NET Core Configuration类使用方法
SQLServer连接字符串连接池详解,Pooling=True/False区别