c# Config配置文件读写

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Text;
  5 using System.Configuration;
  6 using System.Text.RegularExpressions;
  7 
  8 namespace PrintLableCode
  9 {
 10     /// <summary>
 11     /// 配置文件读写类
 12     /// </summary>
 13     public static class ConfigHelper
 14     {
 15         /// <summary>
 16         /// 根据连接串名称connectionName返回连接字符串
 17         /// </summary>
 18         /// <param name="connectionName"></param>
 19         /// <returns>connectionString</returns>
 20         public static string GetConnectionStringsConfig(string connectionName)
 21         {
 22             //指定config文件读取
 23             string file = System.Windows.Forms.Application.ExecutablePath;
 24             Configuration config = ConfigurationManager.OpenExeConfiguration(file);
 25             string connectionString = 
 26                 config.ConnectionStrings.ConnectionStrings[connectionName].ConnectionString.ToString();
 27             return connectionString;
 28         }
 29         /// <summary>
 30         /// 更新连接字符串
 31         /// </summary>
 32         /// <param name="newName">连接字符串名称</param>
 33         /// <param name="newConString">连接字符串内容</param>
 34         /// <param name="newProviderName">数据提供程序名称</param>
 35         public static void UpdateConnectionStringsConfig(string newName, string newConString,string newProviderName)
 36         {
 37             string file = System.Windows.Forms.Application.ExecutablePath;
 38             Configuration config = ConfigurationManager.OpenExeConfiguration(file);
 39             
 40             bool exist = false;//记录是否存在该连接串
 41             if(config.ConnectionStrings.ConnectionStrings[newName] != null)
 42             {
 43                 exist = true;
 44             }
 45             //如果存在需要更改的连接串,先删除
 46             if (exist)
 47             {
 48                 config.ConnectionStrings.ConnectionStrings.Remove(newName);
 49             }
 50             //新建一个连接字符串实例
 51             ConnectionStringSettings mySettings =
 52                 new ConnectionStringSettings(newName,newConString,newProviderName);
 53             //将新的连接串添加到配置文件中
 54             config.ConnectionStrings.ConnectionStrings.Add(mySettings);
 55             //保存对配置文件的更改
 56             config.Save(ConfigurationSaveMode.Modified);
 57             //强制重新载入配置文件的ConnectionStrings配置节
 58             ConfigurationManager.RefreshSection("ConnectionStrings");
 59         }
 60         /// <summary>
 61         /// 返回*.exe.config文件中appSettings配置节的value项  
 62         /// </summary>
 63         /// <param name="strKey"></param>
 64         /// <returns></returns>
 65         public static string GetAppConfig(string strKey)
 66         {
 67             string file = System.Windows.Forms.Application.ExecutablePath;
 68             Configuration config = ConfigurationManager.OpenExeConfiguration(file);
 69             foreach(string key in config.AppSettings.Settings.AllKeys)
 70             {
 71                 if(key == strKey)
 72                 {
 73                     return config.AppSettings.Settings[strKey].Value.ToString();
 74                 }
 75             }
 76             return null;
 77         }
 78         ///<summary>  
 79         ///在*.exe.config文件中appSettings配置节增加一对键值对  
 80         ///</summary>  
 81         ///<param name="newKey"></param>  
 82         ///<param name="newValue"></param>  
 83         public static void UpdateAppConfig(string newKey, string newValue)
 84         {
 85             string file = System.Windows.Forms.Application.ExecutablePath;
 86             Configuration config = ConfigurationManager.OpenExeConfiguration(file);
 87             bool exist = false;
 88             foreach (string key in config.AppSettings.Settings.AllKeys)
 89             {
 90                 if (key == newKey)
 91                 {
 92                     exist = true;
 93                 }
 94             }
 95             if (exist)
 96             {
 97                 config.AppSettings.Settings.Remove(newKey);
 98             }
 99             config.AppSettings.Settings.Add(newKey, newValue);
100             config.Save(ConfigurationSaveMode.Modified);
101             ConfigurationManager.RefreshSection("appSettings");
102         }
103 
104 }
View Code

 

posted on 2017-05-09 10:23  随笔一书,心存一世  阅读(199)  评论(0编辑  收藏  举报

导航