/// <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; } }
/// <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; } } }