Winform-C#读写config配置文件

一、ConfigurationManager的使用
1.添加引用:添加System.configguration
2.引用空间:using System.Configuration
3.config配置文件配置节
常用配置节:
(1)普通配置节

  

(2)数据源配置节

  

(3)自定义配置节
在这里插入图片描述二、confi文件读写
1.依据连接串名字connectionName返回数据连接字符串

    public static string GetConnectionStringsConfig(string connectionName)
    {
        //指定config文件读取
        string file = System.Windows.Forms.Application.ExecutablePath;
        System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(file);
        string connectionString =
            config.ConnectionStrings.ConnectionStrings[connectionName].ConnectionString.ToString();
        return connectionString;
    }

2.更新连接字符串

    ///<param name="newName">连接字符串名称</param> 
    ///<param name="newConString">连接字符串内容</param> 
    ///<param name="newProviderName">数据提供程序名称</param> 
    public static void UpdateConnectionStringsConfig(string newName, string newConString, string newProviderName)
    {
        //指定config文件读取
        string file = System.Windows.Forms.Application.ExecutablePath;
        Configuration config = ConfigurationManager.OpenExeConfiguration(file);
        bool exist = false; //记录该连接串是否已经存在  
        //如果要更改的连接串已经存在  
        if (config.ConnectionStrings.ConnectionStrings[newName] != null)
        {
            exist = true;
        }
        // 如果连接串已存在,首先删除它  
        if (exist)
        {
            config.ConnectionStrings.ConnectionStrings.Remove(newName);
        }
        //新建一个连接字符串实例  
        ConnectionStringSettings mySettings =
            new ConnectionStringSettings(newName, newConString, newProviderName);
        // 将新的连接串添加到配置文件中.  
        config.ConnectionStrings.ConnectionStrings.Add(mySettings);
        // 保存对配置文件所作的更改  
        config.Save(ConfigurationSaveMode.Modified);
        // 强制重新载入配置文件的ConnectionStrings配置节  
        ConfigurationManager.RefreshSection("connectionStrings");
    }

3.返回*.exe.config文件中的appSettings配置节的value项

    public static string GetAppConfig(string strKey)
    {
        string file = System.Windows.Forms.Application.ExecutablePath;
        Configuration config = ConfigurationManager.OpenExeConfiguration(file);
        foreach (string key in config.AppSettings.Settings.AllKeys)
        {
            if (key == strKey)
            {
                return config.AppSettings.Settings[strKey].Value.ToString();
            }
        }
        return null;
    }

4.在*exe.config文件中appSettings配置节增加一对键值对

    public static void UpdateAppConfig(string newKey, string newValue)
    {
        string file = System.Windows.Forms.Application.ExecutablePath;
        Configuration config = ConfigurationManager.OpenExeConfiguration(file);
        bool exist = false;
        foreach (string key in config.AppSettings.Settings.AllKeys)
        {
            if (key == newKey)
            {
                exist = true;
            }
        }
        if (exist)
        {
            config.AppSettings.Settings.Remove(newKey);
        }
        config.AppSettings.Settings.Add(newKey, newValue);
        config.Save(ConfigurationSaveMode.Modified);
        ConfigurationManager.RefreshSection("appSettings");
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值