上一篇:C# Builder 实现POP3信箱的监视 >>
一个有KeepConnection开关的C#的Database类
using System.Data;
using System.Data.SqlClient;
namespace cnkk.Data
{
/// <summary>
/// SQL Database.
/// </summary>
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;
/// <summary>
/// 设置等待命令执行的时间(以秒为单位)。
/// </summary>
public static int CommandTimeout
{
set
{
this.commandTimeout = value;
}
}
/// <summary>
/// Database connection string.
/// </summary>
public string ConnectionString
{
get { return connection.ConnectionString; }
}
private bool keepConnection = false;
/// <summary>
/// 保持数据库连接,设置为 true 可以提供更高数据库访问性能,但不保证是线程安全的。
/// </summary>
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();
}
}
}
}
}
}
下一篇:一个用C#写的词法分析程序 >>
相关文章:
- · C#做的一个加密/解密的类
- · c#发送需要smtp认证的邮件
- · c#中ref和out参数使用时需要注意的问题
- · 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(二)----使用方法
- · C#代码
- · 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分
- · c#.net常用的小函数和方法集
- · RC2加密算法在C#的应用----完善版
- · 简单的c#文本文件读写
- · c#.net常用的小函数和方法集
- · 用Visual C#打造个性化的IE浏览器
- · 如何用UltraEdit编译C#源程序
- · .Net/C#: 实现支持断点续传多线程下载的 Http Web 客户端工具类 (C# DIY HttpWebClient)
- · Visual C#网络编程之TCP
- · C# Programming Guidelines
- · C#设计模式之原型(ProtoType)
- · C#设计模式之抽象工厂(AbstractFactory)
- · C# Coding Standard
- · c#.net常用的小函数和方法集
- · c#.net函数列表.txt
- · c#.net常用的小函数参考
- · C#中使用XML——编写XML
- · C#版ftp方法实现类库代码
- · Visual C# .NET 入门
- · 在C#后代码里使用IE WEB Control TreeView
- · C#里操作时间的例子!
- · 在C#中利用SharpZipLib进行文件的压缩和解压缩
- · C#中使用XML——基于DOM的案例分析
- · 远程重启计算机(C#)
- · C#中使用XML——实现DOM
- · C#中使用XML——编写XML
- · 用C#实现生成PDF文档
- · 使用C#编写的一个定时关机程序
- · 三层架构之数据库访问层完全篇(C#)
- · c#中使用 Win32 和其他库
- · C#执行存储过程的简化
- · 用C#写一个Web自定义控件
- · 在C#中用最简洁有效的代码执行存储过程并返回数据
