2012-02-06 25 views
0

vb.netのaap.configファイルのconnectionstring領域を変更する必要があります。私はいくつかのコードを試しましたが、何も私のために働いた。私はコードの後に​​示唆されましたvb.netのapp.configの接続文字列領域を変更する

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") 

しかし私は私のコードで "愚か者"とは何か分かりませんか?また、これはどのようにテキストを変更するのでしょうか?

2番目に、Readalltextとreplacetextを使用してからwritealltextを使用すると、問題はありませんか?次のメソッドを使用App.configファイルから接続文字列を格納および取得するには おかげ

答えて

0

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

関連する問題