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 }