using System;
using System.Data.OleDb;
using System.IO;
using System.Configuration;
//using System.Data.OracleClient;
namespace Common
{
/// <summary>
/// 支持连接池的数据库访问类
/// </summary>
public class ClsDB
{
//连接池
static private System.Collections.ArrayList ConnArr = new System.Collections.ArrayList();
public ClsDB()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 从连接池中得到一个可用连接
/// </summary>
/// <returns>返回一个类型无关的可用连接</returns>
static public System.Data.IDbConnection getConn()
{
//遍历连接池
for (int i = ClsDB.ConnArr.Count -1; i >= 0;i-- )
{
if (ClsDB.ConnArr[i] == null)
{ //如果连接对象为空则清除该连接
ClsDB.ConnArr.Remove(ClsDB.ConnArr[i]);
}
else if (((System.Data.IDbConnection)ClsDB.ConnArr[i]).State == System.Data.ConnectionState.Closed)
{ //如果连接对象状态为关闭则打开后返回该对象
System.Data.IDbConnection Conn = (System.Data.IDbConnection)ClsDB.ConnArr[i];
ClsDB.OpenConnect(ref Conn);
return Conn;