using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.Common;
using System.Configuration;
using System.Collections;
namespace TEWeb2.DBConnectionLayer
{
/**/
///
/// ========================================================
/// 2009-7-3
/// Tclywork Studio
/// tclywork@163.com
/// tclywork.itpub.net
/// 数据工厂类,实现了跨数据库的操作.
/// ========================================================
///
public class DataAccess
{
#region 变量
///
/// Webconfig配置连接字符串
///
private string _confirString = "ConnectionString";
/**/
///
/// 属性,设置数据库连接字符串
///
public string ConfigString
{
get
{
return _confirString;
}
set
{
_confirString = value;
}
}
#endregion
#region 构造函数
/**/
///
/// 数据工厂类
///
public DataAccess()
{
}
/**/
///
/// 数据工厂类
///
/// web.config 关键字
public DataAccess(string configString)
{
ConfigString = configString;
}
#endregion
#region 获得数据库的类型 public string GetProviderName(string ConfigString)#region 获得数据库的类型 public string GetProviderName(string ConfigString)
/**/
///
/// 返回数据提供者
///
/// 返回数据提供者
public string GetProviderName(string ConfigString)
{
ConnectionStringSettingsCollection ConfigStringCollention = ConfigurationManager.ConnectionStrings;
if (ConfigStringCollention == null || ConfigStringCollention.Count <= 0)
{
throw new Exception("web.config 中无连接字符串!");
}
ConnectionStringSettings StringSettings = null;
if (ConfigString == string.Empty)
{
StringSettings = ConfigurationManager.ConnectionStrings["ConnectionString"];
}
else
{
StringSettings = ConfigurationManager.ConnectionStrings[ConfigString];
}
return StringSettings.ProviderName;
}
/**/
///
/// 返回数据提供者
///
///
public string GetProviderName()
{
return GetProviderName(ConfigString);
}
#endregion
//获得连接字符串=================================================================================
#region 获得连接字符串
/**/
///
/// 获得连接字符串
///
///
public string GetConnectionString(string ConfigString)
{
ConnectionStringSettingsCollection ConfigStringCollention = ConfigurationManager.ConnectionStrings;
if (ConfigStringCollention == null || ConfigStringCollention.Count <= 0)
{
throw new Exception("web.config 中无连接字符串!");
}
ConnectionStringSettings StringSettings = null;
if (ConfigString == string.Empty)
{
StringSettings = ConfigurationManager.ConnectionStrings["ConnectionString"];
}
else
{
StringSettings = ConfigurationManager.ConnectionStrings[ConfigString];
}
return StringSettings.ConnectionString;
}
public string GetConnectionString()
{
return GetConnectionString(ConfigString);
}
#endregion
//GetDbproviderFactory=========================
#region 返回数据工厂 public DbProviderFactory GetDbProviderFactory()#region 返回数据工厂 public DbProviderFactory GetDbProviderFactory()
/**/
///
/// 返回数据工厂
///
///
public DbProviderFactory GetDbProviderFactory()
{
DbProviderFactory f = null;
string ProviderName = GetProviderName();
switch (ProviderName)
{
case "System.Data.SqlClient":
f = GetDbProviderFactory("System.Data.SqlClient");
break;
case "System.Data.OracleClient":
f = GetDbProviderFactory("System.Data.OracleClient");
break;
case "System.Data.OleDb":
f = GetDbProviderFactory("System.Data.OleDb");
break;
default:
f = GetDbProviderFactory("System.Data.SqlClient");
break;
}
retur