程序中Oracle数据库配置

 public class DBConfigVariable
    {
        /// <summary>
        /// 读取配置文件连接数据库串
        /// </summary>
        /// <param name="i"></param>
        public void ReadAppConfig(int i)
        {
            string strDataSouce = "";
            string strUserName = "";
            string strUserPassword = "";
            string connstr = "";
            //生产管理连接串
            if (i == 1)
            {
                connstr = System.Configuration.ConfigurationManager.AppSettings["OracleConn"].ToString();
            }
            //1库连接串
            if (i == 2)
            {
                connstr = System.Configuration.ConfigurationManager.AppSettings["OracleConnTool"].ToString();
            }
            //2库连接串
            if (i == 3)
            {
                connstr = System.Configuration.ConfigurationManager.AppSettings["OracleConnWMS"].ToString();
            }
            //数据源
            strDataSouce = connstr.Split(';')[0].ToString();
            DBConfig.DataSource = strDataSouce.Substring(12);
            //数据库用户名
            strUserName = connstr.Split(';')[1].Trim();
            DBConfig.UserName = strUserName.Substring(8);
            //用户密码
            strUserPassword = connstr.Split(';')[2].Trim();
            DBConfig.Password = strUserPassword.Substring(9);        

        }

       /// <summary>
       /// 接收界面上修改的数据库配置,并组织好newKey.更新app.config文件
       /// </summary>
       /// <param name="i"></param>
       public void UpdateDataBaseConfig(int i)
       {
           string newKeyValue = "";
           string newKey = "";
           newKeyValue = string.Format("Data Source={0};User ID={1};Password={2};Persist Security Info=True;",
               DBConfig.DataSource.ToString(), DBConfig.UserName.ToString(), DBConfig.Password.ToString());
           if (i == 1)
           {
               newKey = "OracleConn";
               UpdateConnectionStringsConfig("MESAppProject.Properties.Settings.ConnectionString1", newKeyValue, "System.Data.OracleClient");
           }
           if (i == 2)
           {
               newKey = "OracleConnTool";
           }
           if (i == 3)
           {
               newKey = "OracleConnWMS";
           }
           UpdateAppConfig(i, newKey, newKeyValue);
       }
       /// <summary>
       /// 修改数据库连接串
       /// </summary>
       /// <param name="i"></param>
        private void UpdateAppConfig(int i,string newKey,string newValue)
        {
            bool isModifield = false;
            foreach (string key in System.Configuration.ConfigurationManager.AppSettings)
            {
                if (key == newKey)
                {
                    isModifield = true;
                }
            }
            Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            if (isModifield)
            {
                config.AppSettings.Settings.Remove(newKey);
            }
            config.AppSettings.Settings.Add(newKey, newValue);
            config.Save(ConfigurationSaveMode.Modified);
            ConfigurationManager.RefreshSection("appSettings");
        }
       /// <summary>
       /// 更新connectionStrings配置节
       /// </summary>
       /// <param name="newName">连接字符串名称</param>
       /// <param name="newConString">连接字符串内容</param>
       /// <param name="newProviderName">数据提供程序名称</param>
        private static void UpdateConnectionStringsConfig(string newName,string newConString,string newProviderName)
        {
            bool isModified = false; //记录连接串是否已经存在
            //如果要更改的连接串已经存在
            if (ConfigurationManager.ConnectionStrings[newName] !=null)
            {
                isModified = true;
            }
            //新建一个连接字符串实例
            ConnectionStringSettings mySettings = new ConnectionStringSettings(newName, newConString, newProviderName);
            //打开可执行的配置文件*.exe.config
            Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            //如果连接串已经存在,首先删除它
            if(isModified)
            {
                config.ConnectionStrings.ConnectionStrings.Remove(newName);
            }
            //将新的连接串添加到配置文件中
            config.ConnectionStrings.ConnectionStrings.Add(mySettings);
            //保存对配置文件所作的更改
            config.Save(ConfigurationSaveMode.Modified);
            //强制重新载入配置文件的ConnectionStrings配置节
            ConfigurationManager.RefreshSection("ConnectionStrings");
        }
        /// <summary>
        /// 数据库连接变量
        /// </summary>
        public static class DBConfig
        {
            public static string DataSource;
            public static string GetDataSource
            {
                get { return DataSource; }
            }
            public static string SetDataSource
            {
                set { DataSource = value; }
            }
            public static string UserName;
            public static string GetUserName
            {
                get { return UserName; }
            }
            public static string SetUserName
            {
                set { UserName = value; }
            }
            public static string Password;
            public static string GetPassword
            {
               get { return Password; }
            }
            public static string SetPassword
            {
                set { Password = value; }
            }
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮特大熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值