日期:2012-03-26  浏览次数:20438 次

using System;
namespace com.joybase.DB
{
/// <summary>
/// 数据库连接提供类
/// </summary>
public class Provider
{
  //一个静态的连接接口;
  private static System.Data.IDbConnection conn;
  /// <summary>
  /// 构造方法,设为私有类型,是防止外部无效的引用;
  /// </summary>
  protected Provider()
  {
   //
   // TODO: Add constructor logic here
   //
   System.Data.IDbCommand x=new System.Data.OleDb.OleDbCommand();
      
  }
//  /// <summary>
//  /// 数据库连接类型,即判断是System.Data.SqlClient类型或者是System.Data.OleDB类型的。
//  /// </summary>
//  private static DBType DataBaseType
//  {
//   get
//   {
//    //从配置文件当中读取数据库类型字符串
//    string m_DBType=System.Configuration.ConfigurationSettings.AppSettings["DataBase.Type"];
//    //如果未设置默认为System.Data.SqlClient类型的连接
//    if(m_DBType==null)
//    {
//     return DBType.SqlClient;
//    }
//    else
//    {
//     //如果为空或者为MSSQLServer2000,则使用System.Data.SqlClient类型的连接
//     if(m_DBType.Trim()==""||m_DBType.Trim().ToUpper()=="MSSQLSERVER2000"||m_DBType.Trim().ToUpper()=="MSSQLSERVER7")
//     {
//      return DBType.SqlClient;
//     }
//     //其它则返回System.Data.OleDB类型的连接
//     else
//     {
//      if(m_DBType.Trim().ToUpper()=="OLEDB")
//      {
//       return DBType.OleDB;
//      }
//     }
//
//    }
//    return DBType.OleDB;
//
//   }
//
//
//  }
  /// <summary>
  /// 重载getConn(string)方法,此时连接字符串的标签名将为“DataBase.ConnectionString”
  /// <seealso cref="getConn(string) "/>
  /// </summary>
  ///  <returns>返回一个连接</returns>
  public static System.Data.IDbConnection getConn()
  {
   return Provider.getConn("");
  }
  /// <summary>
  /// 获得数据库连接接口
  /// </summary>
  /// <param name="p_ConnStringSetName">一个在Config文件中设置连接字符串的标签名</param>
  /// <returns></returns>
  public static System.Data.IDbConnection getConn(string p_ConnStringSetName)
  {
   
//   if(conn==null)
//   {
    string ConnStr="";
    if(p_ConnStringSetName.Trim()=="")
    {
     ConnStr=System.Configuration.ConfigurationSettings.AppSettings["DataBase.ConnectionString"];
    }
    else
    {
     ConnStr=System.Configuration.ConfigurationSettings.AppSettings[p_ConnStringSetName];
    }
    if(ConnStr==null||ConnStr=="")