一个有KeepConnection开关的C#的Database类

2016-01-29 12:35 13 1 收藏

一个有KeepConnection开关的C#的Database类,一个有KeepConnection开关的C#的Database类

【 tulaoshi.com - ASP.NET 】


using System;using System.Data;using System.Data.SqlClient;
namespace cnkk.Data{ /// /// SQL Database. /// public class Database : DisposableBase { private string connectionString; private SqlConnection connection;
protected Database(string connectionString) { this.connectionString = connectionString; }
protected Database(SqlConnection connection) { this.connection = connection; }
protected override void DisposeManaged() { base.DisposeManaged ();
this.connection.Dispose(); }
private SqlConnection GetConnection() { if ( KeepConnection ) { return this.connection; } else { return new SqlConnection(ConnectionString); } }
protected SqlConnection Connection { get { return this.connection; } }
private int commandTimeout = 30;
/// /// 设置等待命令执行的时间(以秒为单位)。 /// public static int CommandTimeout { set { this.commandTimeout = value; } }

/// /// Database connection string. /// public string ConnectionString { get { return connection.ConnectionString; } }
private bool keepConnection = false;
/// /// 保持数据库连接,设置为 true 可以提供更高数据库访问性能,但不保证是线程安全的。 /// public virtual bool KeepConnection { get { return keepConnection; }
set { if ( keepConnection != value ) { keepConnection = value;
if ( keepConnection == true ) { if ( connection.State == ConnectionState.Closed ) connection.Open(); } else { connection.Close(); } } } } }}

来源:https://www.tulaoshi.com/n/20160129/1486711.html

延伸阅读
小弟最近在编写一个O/RM组件(当然功能还是相当少的)。 大家都应该清楚把实体对象更新到数据库必须经过一系列的转换;特别是SQL语句的生成是比较费资源的,因为中间处里的东西实大是太多了。 在设计的过程中我就想如果一个对象插入数据库后把相应的Command保存在缓存中;下一次同一个类型的对象做这个操作时检测一下缓存如果有就直接拿来用这...
有两种方法:1.使用指针变量声明函数(或者使用数组变量)2.使用传出参数 第一种方法:函数返回的是一个指针地址(数组地址),这个内存地址有多个变量寄存在里面。这个方法我不太会用,传地址传值我常常搞的淅沥糊涂。 第二种方法:我用例子说明。 首先声名一个函数,定义如下 public bool CheckUser(string UserName, out string PassWord, O...
代码如下: using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; /// summary /// PlayClass 的摘要说明 /// /summary namespace ...
原理我像大家都很清楚,这里只说.NET(c#实现)。服务器每次启动或者重启,都是没登陆的。那意味着启动项里不只能做,我就考虑到使用Windows服务。Windows服务在系统加载时候就会启动所有服务,把程序写进里面应该没错了。 需要重启,那就要一个时间来效验,写法都有很多。我这里采用ini来存放。 Time 记录要重启的时间,验证时间。 Day 用来...
本文描述了如何建立一个简单的、自定义的用户控件——一个平滑的进度条。 在早先的进度条控件版本中,例如在 Microsoft Windows Common Controls ActiveX 控件中提供的版本,您可以看到进度条有两种不同的视图。您可以通过设定 Scrolling 属性来设定 Standard 视图或是 Smooth 视图。 Smooth 视图提供了一个区域来平滑的显示进度, Standard ...

经验教程

849

收藏

38
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部