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

connection

using System;
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();
}
}
}
}
}
}

时间: 2024-08-22 14:19:08

一个有KeepConnection开关的C#的Database类的相关文章

一个在Flash里面使用的正则表达式的类

正则 一个在Flash里面使用的正则表达式的类,使用这个类的原因是FLASH里面对文本输入检测要求不高,例如就不能检测输入的邮件格式是否正确: class RegExp {  public var const:String = null;  public var source:String = null;  public var global:Boolean = false;  public var ignoreCase:Boolean = false;  public var multilin

一个CSS元素同时有id选择器和类选择器的例子

一个元素可同时有id选择器和类选择器,但只能有一个id选择器,且id选择器的优先级大于class选择器. 例: html文件内容: <html> <head> <title>一个元素可同时有id选择器和类选择器</title> <link rel="stylesheet" type="text/css" href="test.css" /> </head> <body&

mvc4-求助 &amp;amp;lt;MVC4&amp;amp;gt;一个视图,如何对应两个实体类

问题描述 求助 <MVC4>一个视图,如何对应两个实体类 我的页面需要从2张表中读取数据,这两张表有关联. 初次接触Mvc 还请大神帮帮忙 谢谢 解决方案 这很简单: class MyViewModel { public 第一个模型 M1 { get; set; } public 第二个模型 M2 { get; set; } } 将MyViewModel作为你的模型 解决方案二: 写成一个类存放 sql语句直接写,但是字段名称和类中字段名称要对应 解决方案三: 页面我是用 @ViewBag 调

implements-新手求教一个安卓问题,为什么只能用匿名类了?

问题描述 新手求教一个安卓问题,为什么只能用匿名类了? 这个情况我想用外部类implements就是报错,用内部类就没有问题,有没有高手解决一下? 解决方案 你把类声明放在实例化前面试试看,应该是你构造函数先实例化了MyOnitemSelectedLinstener然后才声明了类,他找不到实例化的方法了 解决方案二: 你创建的类本身对不对,创建到哪里去了,有没有导入对应的命名空间? 解决方案三: 重新完整编译下,看看输出什么错误信息呢?

一个ArrayList里是否可以添加不同的类,一个数组里是否可以添加不同类

问题描述 一个ArrayList里是否可以添加不同的类,一个数组里是否可以添加不同类 解决方案 package com.zyn.iteye;import java.util.ArrayList;import java.util.List;public class ArrayListTest {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubList<Obje

自定义的一个仿ios开关效果的SwitchButton

项目需求,本来想找网上的直接用,但是自己也不是太忙,就说自己写下吧.用了一上午的时间调试出来了基本的效果:         原理:          通过自定义View来进行按钮的绘制.        知识点:           (1)继承view,实现构造方法,熟练使用onDraw(Canvas canvas)方法   (2)需要三种图片,活动按钮,还有开关背景   (3)需要熟悉onTouch方法的使用   (4)了解onMeasure(int widthMeasureSpec, int

求一个饼状图或柱状图php生成类或例子

饼状图|柱状图 PHP代码:--------------------------------------------------------------------------------/*-------------------------------------------------------------------------*///// Module Name: 一个3D的饼图类//// Author:Avenger(avenger@php.net) Last Modify: 200

转一个SQL Ralay数据库连接池的PHP操作类

数据|数据库|数据库连接 原文说明:目前此类只支持Sybase,稍加扩展就可以同时支持其它多种数据库,功能还不完善,但是基本上够用,另外,还没有写说明文档,先放上来,有需要的朋友可以拿去看看,需要SQL Relay支持哦.[操作类代码]   // pdbconn.inc.php <?php     /**      * 全局常量定义      *      */     define("SYBASE", 0);     define("ORACLE", 1);

我写的一个将数据库数据导出到EXCEL的类(ASP)

excel|数据|数据库 clsExport2Excel.asp<%'类开始Class clsExport2Excel '声明常量.变量Private strFilePath,strTitle,strSql,strField,strRows,strColsPrivate strCn,strHtml,strPathPrivate objDbCn,objRsPrivate objXlsApp,objXlsWorkBook,objXlsWorkSheetPrivate arrField '初始化类Pr