Ejemplo n.º 1
0
 public DbBase(ConnObject co)
 {
     this.connObject   = co;
     this.conn         = co.Master.Conn;
     this.providerName = co.Master.ProviderName;
     dalType           = co.Master.ConnDalType;
     _fac = GetFactory(providerName);
     _con = _fac.CreateConnection();
     _con.ConnectionString = DalCreate.FormatConn(dalType, conn);
     _com = _con.CreateCommand();
     if (_com != null)//Txt| Xml 时返回Null
     {
         _com.Connection     = _con;
         _com.CommandTimeout = AppConfig.DB.CommandTimeout;
     }
     if (IsAllowRecordSql)//开启秒表计算
     {
         _watch = new Stopwatch();
     }
     //if (AppConfig.DB.LockOnDbExe && dalType == DalType.Access)
     //{
     //    string dbName = DataBase;
     //    if (!_dbOperator.ContainsKey(dbName))
     //    {
     //        try
     //        {
     //            _dbOperator.Add(dbName, false);
     //        }
     //        catch
     //        {
     //        }
     //    }
     //}
     //_com.CommandTimeout = 1;
 }
Ejemplo n.º 2
0
 /// <summary>
 /// 切换数据库(修改数据库链接)
 /// </summary>
 /// <param name="dbName"></param>
 /// <returns></returns>
 internal DbResetResult ChangeDatabase(string dbName)
 {
     if (_con.State == ConnectionState.Closed)//事务中。。不允许切换
     {
         try
         {
             if (IsExistsDbNameWithCache(dbName))//新的数据库不存在。。不允许切换
             {
                 conn = GetNewConn(dbName);
                 _con.ConnectionString  = DalCreate.FormatConn(dalType, conn);
                 connObject             = DalCreate.GetConnObject(dbName + "Conn");
                 connObject.Master.Conn = conn;
                 return(DbResetResult.Yes);
             }
             else
             {
                 return(DbResetResult.No_DBNoExists);
             }
         }
         catch (Exception err)
         {
             Log.WriteLogToTxt(err);
         }
     }
     return(DbResetResult.No_Transationing);
 }
Ejemplo n.º 3
0
 /// <summary>
 /// 切换链接
 /// </summary>
 /// <param name="cb"></param>
 private void ResetConn(ConnBean cb)
 {
     if (_con != null && _con.State != ConnectionState.Open && conn != cb.Conn && _IsAllowRecordSql)
     {
         conn = cb.Conn;//切换。
         _con.ConnectionString = DalCreate.FormatConn(dalType, conn);
     }
 }
Ejemplo n.º 4
0
 /// <summary>
 /// 切换链接
 /// </summary>
 /// <param name="cb"></param>
 private bool ResetConn(ConnBean cb)//, bool isAllowReset
 {
     if (cb != null && cb.IsOK && _con != null && _con.State != ConnectionState.Open && conn != cb.Conn)
     {
         useConnBean           = cb;
         conn                  = cb.Conn;//切换。
         _con.ConnectionString = DalCreate.FormatConn(dalType, conn);
         return(true);
     }
     return(false);
 }