在vb.net中更改app.config的connectionstring区域

时间:2012-02-06 07:37:26

标签: vb.net

我需要在vb.net中更改aap.config文件的connectionstring区域。我尝试了几个代码,但对我没用。我被建议使用代码

 Dim config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
    Dim connectionStringsSection = DirectCast(config.GetSection("connectionStrings"), ConnectionStringsSection)
    connectionStringsSection.ConnectionStrings("Blah").ConnectionString = "Data Source=blah;Initial Catalog=blah;UID=blah;password=blah"
    config.Save()
    ConfigurationManager.RefreshSection("connectionStrings")

但我不明白我的代码中会出现什么“Blah”?这又如何改变文本?

其次,如果我使用Readalltext和replacetext然后writealltext,它会没问题,否则会导致任何问题? 感谢

1 个答案:

答案 0 :(得分:0)

要从app.config存储和检索连接字符串,请使用以下方法:

在app.config中创建一个键:

 <appSettings>
    <add key="ConnectionString" value=""/>
 </appSettings>

设置连接字符串的值:

 Dim config As System.Configuration.Configuration
    Dim fileMap As New ExeConfigurationFileMap()

    fileMap.ExeConfigFilename = "Path of app.config"
    config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None)

    '   Sets values to config file.
    If config.HasFile() Then

        config.AppSettings.Settings.Item("ConnectionString").Value = "Data Source=blah;Initial Catalog=blah;UID=blah;password=blah"
        config.Save(ConfigurationSaveMode.Modified)
        ConfigurationManager.RefreshSection("AppSettings")

    End If

获取连接字符串的值:

  Dim config As System.Configuration.Configuration
    Dim fileMap As New ExeConfigurationFileMap()

 fileMap.ExeConfigFilename = "Path of app.config"
    config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None)

    '   Sets values to config file.
    If config.HasFile() Then

        strConnString = config.AppSettings.Settings.Item("ConnectionString").Value

    End If

这里strConnString是一个字符串变量,它将存储连接字符串值。