2012-02-06 54 views
0

我需要在vb.net中更改我的aap.config文件的連接字符串區域。我已經嘗試了幾個代碼,但沒有爲我工作。我被建議以下代碼在vb.net中更改app.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,它會好嗎,或者它可以導致任何問題? 感謝

回答

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是一個字符串變量,它將存儲連接字符串值。

+0

我正在使用VS2013,VB.NET 4.0。此代碼不能像我的項目一樣工作 - 我如何調整此項以適應我的項目? – marky 2014-12-03 20:29:21