2012-10-16 94 views
5

我有一個連接字符串存儲在.config文件中,我不知道該如何讀取。
我搜索了很多,我發現大多數是關於如何讀取AppSetting中存儲的鍵/值對。但是這個文件的組織方式不同。我需要的只是獲取ConnectionString的值。
注意:我無法修改.config文件。它給了我。在項目的命名空間從app.config讀取值

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
     <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > 
      <section name="Assessment.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /> 
     </sectionGroup> 
    </configSections> 
    <userSettings> 
     <Assessment.Properties.Settings> 
      <setting name="ConnectionString" serializeAs="String"> //This value I need 
       <value>Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[%CURRENT%]\DB.mdb</value> 
      </setting> 
     </Assessment.Properties.Settings> 
    </userSettings> 
</configuration> 

回答

6

會有設置類

類是自動生成的(Assessment.Properties.Settings)。

要訪問您的連接字符串只需使用

​​

+0

爲了測試這個我試過在Form_Load事件中輸入您的代碼,但顯然我沒有這些類。有什麼我應該做的這些出現?我所做的只是將.config文件內容粘貼到我的應用程序的App.config中。 – atoMerz

+0

這應該被標記爲正確的答案。謝謝。 – Cody

5

使用ConfigurationManager.ConnectionStrings屬性來檢索應用程序配置文件的連接字符串。

您應該在配置文件的connectionStrings部分中存儲連接字符串。

+0

試過了,它沒有工作。這不是我自己寫的配置文件。我被要求從這樣的.config文件讀取連接字符串。 – atoMerz

+0

如果您無法更改配置文件的組織方式,請將其添加到您的問題中,因爲它是相關信息。 – Bernard

0

不看的自定義配置節處理程序我只能猜測:

在你的代碼試試這個:

var connString = System.Configuration.ConfigurationManager.GetSection 
        ("Assessment.Properties.Settings")["ConnectionString"]; 

但更好的是切換到使用微軟內置的ConnectionString部分
System.Configuration.ConnectionStringSettings

+0

'GetSection'返回一個對象,我顯然不能在其上使用[]運算符。 – atoMerz

0

您可以訪問`userSettings'部分,如:

var userSection = (ConfigurationSection)ConfigurationManager.GetSection("userSettings"); 
+0

由於某種原因,我收到了空白。 – atoMerz

1
connectionString = ConfigurationManager.AppSettings["ConnectionString"]; 

,並在你的配置

<appSettings> <add key="ConnectionString" value="whatever" /> </appSettings> 
+0

'.config'文件給我。我不會修改它。 – atoMerz