AppConfig读写类

  1. Imports System.Configuration
  2. Imports System.Xml
  3. Public Class AppConfig
  4.     ''' <summary>
  5.     ''' 依据连接串名字connectionName返回数据连接字符串
  6.     ''' </summary>
  7.     ''' <param name="connectionName"></param>
  8.     ''' <returns></returns>
  9.     ''' <remarks></remarks>
  10.     Shared Function GetConnectionStringsConfig(ByVal connectionName As StringAs String
  11.         Dim connectionString As String = ConfigurationManager.ConnectionStrings(connectionName).ConnectionString.ToString()
  12.         Return connectionString
  13.     End Function
  14.     ''' <summary>
  15.     ''' 更新连接字符串
  16.     ''' </summary>
  17.     ''' <param name="newName">连接字符串名称</param>
  18.     ''' <param name="newConString">连接字符串内容</param>
  19.     ''' <param name="newProviderName">数据提供程序名称</param>
  20.     ''' <remarks></remarks>
  21.     Shared Sub UpdateConnectionStringsConfig(ByVal newName As StringByVal newConString As StringByVal newProviderName As String)
  22.         '记录该连接串是否已经存在 
  23.         Dim isModified As Boolean = False
  24.         '如果要更改的连接串已经存在 
  25.         If (ConfigurationManager.ConnectionStrings(newName) IsNot NothingThen
  26.             isModified = True
  27.         End If
  28.         '新建一个连接字符串实例 
  29.         Dim mySettings As ConnectionStringSettings = _
  30.             New ConnectionStringSettings(newName, newConString, newProviderName)
  31.         ' 打开可执行的配置文件*.exe.config 
  32.         Dim config As Configuration = _
  33.         ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
  34.         ' 如果连接串已存在,首先删除它 
  35.         If (isModified) Then
  36.             config.ConnectionStrings.ConnectionStrings.Remove(newName)
  37.         End If
  38.         ' 将新的连接串添加到配置文件中. 
  39.         config.ConnectionStrings.ConnectionStrings.Add(mySettings)
  40.         ' 保存对配置文件所作的更改 
  41.         config.Save(ConfigurationSaveMode.Modified)
  42.         ' 强制重新载入配置文件的ConnectionStrings配置节 
  43.         ConfigurationManager.RefreshSection("ConnectionStrings")
  44.     End Sub
  45.     ''' <summary>
  46.     ''' 返回*.exe.config文件中appSettings配置节的value项
  47.     ''' </summary>
  48.     ''' <param name="strKey"></param>
  49.     ''' <returns></returns>
  50.     ''' <remarks></remarks>
  51.     Shared Function GetAppConfig(ByVal strKey As StringAs String
  52.         For Each key As String In ConfigurationManager.AppSettings
  53.             If (key = strKey) Then
  54.                 Return ConfigurationManager.AppSettings(strKey)
  55.             End If
  56.         Next
  57.         Return Nothing
  58.     End Function
  59.     ''' <summary>
  60.     ''' 在*.exe.config文件中appSettings配置节增加一对键、值对 
  61.     ''' </summary>
  62.     ''' <param name="newKey"></param>
  63.     ''' <param name="newValue"></param>
  64.     ''' <remarks></remarks>
  65.     Shared Sub UpdateAppConfig(ByVal newKey As StringByVal newValue As String)
  66.         Dim isModified As Boolean = False
  67.         For Each key As String In ConfigurationManager.AppSettings
  68.             If (key = newKey) Then
  69.                 isModified = True
  70.             End If
  71.         Next
  72.         '打开 可执行文件的 App.Config  
  73.         Dim config As Configuration = _
  74.              ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
  75.         '在你替换它之前你需要移除旧的设定对象 
  76.         If (isModified) Then
  77.             config.AppSettings.Settings.Remove(newKey)
  78.         End If
  79.         ' 添加一个应用程序设定
  80.         config.AppSettings.Settings.Add(newKey, newValue)
  81.         ' 将修改保存到 App.config 文件
  82.         config.Save(ConfigurationSaveMode.Modified)
  83.         '强制重新载入配置文件的ConnectionStrings配置节 
  84.         ConfigurationManager.RefreshSection("appSettings")
  85.     End Sub
  86.     Public Shared Sub SaveConfig(ByVal Key As StringByVal Value As String)
  87.         Dim doc As New XmlDocument()
  88.         '获得配置文件的全路径 
  89.         Dim strFileName As String = AppDomain.CurrentDomain.BaseDirectory.ToString() & "App.config"
  90.         doc.Load(strFileName)
  91.         '找出名称为“add”的所有元素 
  92.         Dim nodes As XmlNodeList = doc.GetElementsByTagName("add")
  93.         For i As Integer = 0 To nodes.Count - 1
  94.             '获得将当前元素的key属性 
  95.             Dim att As XmlAttribute = nodes(i).Attributes("key")
  96.             '根据元素的第一个属性来判断当前的元素是不是目标元素 
  97.             If att.Value = Key Then
  98.                 '对目标元素中的第二个属性赋值 
  99.                 att = nodes(i).Attributes("value")
  100.                 att.Value = Value
  101.                 Exit For
  102.             End If
  103.         Next
  104.         '保存上面的修改 
  105.         doc.Save(strFileName)
  106.     End Sub
  107. End Class
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值