2015-05-09 70 views
-1

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

+0

SQLEXPRESS如何与MySQL相关?或者另一个文件夹如何帮助崩溃?我宁愿修复崩溃,因为它在正常情况下不会发生。请详细解释您的要求。 –

+0

对不起MySql。我正在使用SQLEXPRESS。崩溃意味着窗户崩溃。当用户重新安装Windows时,SQLEXPRESS数据库将被删除。所以我想将.mdf数据库存储在另一个驱动器中,并且用户将从我的应用程序中选择数据库,并且当用户选择数据库时,然后在app.config文件中,连接字符串应该在运行时更改。 –

+0

听起来像你只需要使用一个交易。 –

回答

0

即使没有特别需要连接字符串以标准方式存储在配置文件中,在标准配置文件中可以方便地使用名为<connectionStrings>的复选框,您可以像这样枚举它:

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> 

....

+0

数据库文件效果连接字符串的路径?一个数据库位于我的“C:\ ProgramFiles \ SQLEXPRESS \ data \ abc.mdf”中,并且具有相同名称的同一数据库位于“F:\ mydb \ abc.mdf”中,这两个数据库是否具有相同的连接字符串? –

1

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

0

是数据库文件影响的连接字符串的路径???一个数据库位于我的“C:\ ProgramFiles \ SQLEXPRESS \ data \ abc.mdf”中,并且具有相同名称的同一数据库位于“F:\ mydb \ abc.mdf”中,这两个数据库是否具有相同的连接字符串?

相关问题