示例#1
0
        /// <summary>
        /// 打开数据库连接(报错直接抛出异常,请主动捕获)
        /// </summary>
        public void CF_OpenConnect()
        {
            if (!m_isInitDataBase)
            {
                throw new Exception($"数据库未初始化!\n");
            }

            if (string.IsNullOrEmpty(CP_ConnectionString))
            {
                throw new Exception(
                          $"数据库连接配置错误!" +
                          $"数据库类型: {CP_ConnectionType.ToString()};" +
                          $"连接字符串: {CP_ConnectionString}。");
            }

            try
            {
                m_iConn.Open();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#2
0
        /// <summary>
        /// 初始化数据库(报错直接抛出异常,请主动捕获)
        /// </summary>
        public void CF_InitDataBase()
        {
            switch (CP_ConnectionType)
            {
            case EDataBaseType.SQLSERVER:
            {
                m_iDataBase = new SqlServerDataBase();
                break;
            }

            case EDataBaseType.MYSQL:
            {
                m_iDataBase = new MySqlDataBase();
                break;
            }

            case EDataBaseType.ORACLE:
            {
                m_iDataBase = new OracleDataBase();
                break;
            }

            default:
            {
                m_isInitDataBase = false;
                throw new Exception($"数据库类型错误或未设置!数据库类型: {CP_ConnectionType.ToString()}");
            }
            }

            //异常
            Exception exception = null;

            try
            {
                m_iDataBase.ConnectionString = CP_ConnectionString;
                m_iConn           = m_iDataBase.CreateConnection();
                m_iCmd            = m_iDataBase.CreateCommand();
                m_iCmd.Connection = m_iConn;

                m_isInitDataBase = true;
            }
            catch (FileNotFoundException)
            {
                exception = new Exception($"缺少运行依赖程序: {m_iDataBase.RuntimeDepend}。");
            }
            catch (Exception ex)
            {
                exception = ex;
            }
            finally
            {
                //存在异常
                if (exception != null)
                {
                    m_iDataBase = null;
                    m_iConn     = null;
                    m_iCmd      = null;

                    m_isInitDataBase = false;

                    throw exception;
                }
            }
        }