/// <summary> /// 根据连接字符串, 创建AdoNetHelper子类实例。 /// </summary> /// <param name="userName"></param> /// <param name="dbname"></param> /// <returns></returns> protected static AdoNetHelper CreateInstance(string connectionString, DbProviderType provider) { AdoNetHelper helper = null; switch (provider) { case DbProviderType.Odbc: helper = new OdbcHelper(connectionString, provider); break; case DbProviderType.OleDb: helper = new OleDbHelper(connectionString, provider); break; case DbProviderType.Oracle_MS: helper = new OracleHelper(connectionString, provider); break; case DbProviderType.Oracle_ManagedODP: helper = new OracleHelper_ManagedODP(connectionString, provider); break; case DbProviderType.SqlServer: helper = new SqlHelper(connectionString, provider); break; } return(helper); }
/// <summary> /// 根据连接字符串, 创建线程缓存的AdoNetHelper子类实例。 /// </summary> /// <typeparam name="T">AdoNetHelper 的子类</typeparam> /// <param name="userName">数据库用户名</param> /// <param name="dbname">数据库实例名</param> /// <param name="createIfNull">如果不存在那么创建</param> /// <returns></returns> public static AdoNetHelper ThreadInstance(string connectionString, DbProviderType provider, bool createIfNull) { string CACHEKEY = string.Format("YBB.DBUtils.AdoNetHelper.ThreadInstance::{0}:{1}", connectionString, provider.ToString()); AdoNetHelper db = null; if (HttpContext.Current != null) { db = HttpContext.Current.Items[CACHEKEY] as AdoNetHelper; if (db == null) { if (!createIfNull) { return(null); } db = CreateInstance(connectionString, provider); HttpContext.Current.Items[CACHEKEY] = db; } } else { db = CallContext.GetData(CACHEKEY) as AdoNetHelper; if (db == null) { if (!createIfNull) { return(null); } db = CreateInstance(connectionString, provider); CallContext.SetData(CACHEKEY, db); } } if (db == null) { return(null); } return(db); }
/// <summary> /// /// </summary> /// <param name="helper"></param> public AdoNetConnInstanceHelper(AdoNetHelper helper)// { this.Helper = helper; }
public AdoNetWinHelper(AdoNetHelper helper)//实例化多个AdoNetConnInstanceHelper,Conn属性各属于自己的AdoNetConnInstanceHelper。 { this.Helper = helper; }