2015-05-09 69 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」中,這兩個數據庫是否具有相同的連接字符串?

相關問題