C# 在Winforms中更改连接字符串

C# 在Winforms中更改连接字符串,c#,winforms,visual-studio-2010,configuration,app-config,C#,Winforms,Visual Studio 2010,Configuration,App Config,我正在开发win表单,我有应用程序配置文件。我如何写入应用程序配置文件的连接字符串部分? 我当前的App.Config文件是 <?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="MyDbConnection" connectionString="" providerName="System.Data.OleDb" /

我正在开发win表单,我有应用程序配置文件。我如何写入应用程序配置文件的连接字符串部分? 我当前的App.Config文件是

  <?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
     <add name="MyDbConnection" connectionString="" providerName="System.Data.OleDb" />
</connectionStrings>
</configuration>
但是,在第三行生成异常

configuration error exception this configuration is read only
更改连接字符串的代码是从外部类调用的。我不知道应该将代码放置在何处以重写IsReadonly()方法。
此外,应用程序配置没有代码隐藏文件。

app.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <connectionStrings>
      <add name="MyDBConnectionString" providerName="System.Data.SqlClient"
            connectionString="Data Source=localhost;Initial Catalog=MySQLServerDB; Integrated Security=true" />
   </connectionStrings>
</configuration>
ConnectionStringsSettings类提供用于读取程序中连接字符串设置的属性,如下所示:

string name = conSettings.Name;
string providerName = conSettings.ProviderName;
string connectionString = conSettings.ConnectionString;

要在App.config文件中写入连接字符串,可以使用:

创建两个设置,例如:AppConnectionString(类型:string)和ServerConnectionString(类型:ConnectionString)

修改设置代码,在获取ServerConnectionString设置的属性时,将返回值更改为AppConnectionString

通过这样做,您可以修改、保存或重新加载AppConnectionString设置,当您在应用程序上引用ServerConnectionString时,它将返回AppConnectionString设置。试试看

ConnectionStringSettings  conSettings = ConfigurationManager.ConnectionStrings["MyDBConnectionString"];
string name = conSettings.Name;
string providerName = conSettings.ProviderName;
string connectionString = conSettings.ConnectionString;