在WinForms中在运行时动态更改连接字符串

时间:2015-05-09 09:51:19

标签: c# database winforms

我正在制作Winform dekstop应用程序。我在我的应用程序中提供了一个选项,用户可以选择数据库或设置数据库路径。当用户选择数据库或数据库路径时,应在运行时在APP.config中更改连接字符串。

3 个答案:

答案 0 :(得分:1)

您可能不应该尝试在运行时更改配置中的连接字符串。您可以在配置文件的<connectionStrings>部分中拥有一组可能的连接字符串,允许用户选择要使用的数据库,并从文件中读取相应的连接。

答案 1 :(得分:0)

即使在配置文件中没有特殊需要以标准方式存储连接字符串,在标准配置文件中有一个名为<connectionStrings>的bounch也很方便,你可以像这样:

 foreach (ConnectionStringSettings c in System.Configuration.ConfigurationManager.ConnectionStrings)
    {
        //present the name in some combo etc etc.
    }

然后用户可以根据友好名称选择连接字符串。 您应用的配置文件如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    .....
    <connectionStrings>
      <add name="connection1" connectionString="Data Source=your connection string 1" />
 <add name="connection2" connectionString="Data Source=your connection string 2" />
 <add name="connection3" connectionString="Data Source=your connection string 3" />
</connectionStrings>

....

答案 2 :(得分:0)

数据库文件的路径是否影响连接字符串???一个数据库在我的“C:\ ProgramFiles \ SQLEXPRESS \ data \ abc.mdf”中,同名的数据库在“F:\ mydb \ abc.mdf”中,两个数据库都有相同的连接字符串???? < / p>