2012-10-16 66 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