数据库连接控制器类,代码如下:
==============================================
namespace b2c.DB
{
using System;
using System.Data;
using System.Text;
using System.Data.OracleClient;
/// <summary>
/// 数据库连接管理器,项目中所有的数据库连接都得从该类获取。
/// </summary>
internal class ConnManager
{
private static ConnManager connManager = new ConnManager();
//数据库的配置
private const string DATA_SOURCE = "data source=";
private const string USER_ID = "user id=";
private const string PASSWORD = "Password=";
private const string MIN_POOL_SIZE = "Min Pool Size=";
private const string MAX_POOL_SIZE = "Max Pool Size=";
private const string POOLING = "Pooling=true";
/*
* 为了实现单例,所以将构造函数私有化。
*/
private ConnManager()
{
}
/// <summary>
/// 取得ConnManager的一个实例
/// </summary>
/// <returns></returns>
public static ConnManager GetInstance()
{
return connManager;
}
/// <summary>
/// 取得一个数据库连接
/// </summary>
/// <returns>数据库连接</returns>
public OracleConnection GetConnection()
{
return(new OracleConnection(this.CombinConnString()));
}
/*
* 根据DatabaseConfig的数据库相关配置组合数据库连接字符串。
*/
private string CombinConnString()
{
StringBuilder sb = new StringBuilder();
sb.Append(DATA_SOURCE + DatabaseConfig.DataSource + ";");
sb.Append(USER_ID + DatabaseConfig.UserID + ";");
sb.Append(PASSWORD + DatabaseConfig.Password + ";");
sb.Append(MIN_POOL_SIZE + DatabaseConfig.MinPoolSize + ";");
sb.Append(MAX_POOL_SIZE + DatabaseConfig.MaxPoolSize + ";");
sb.Append(POOLING + ";");
return sb.ToString();
}
}
}