如何使用ConfigurationManager.AppSettings

时间:2011-08-15 19:46:34

标签: c# asp.net sql sqlconnection

我之前从未使用过“appSettings”。如何在C#中配置它以与SqlConnection一起使用,这就是我用于“ConnectionStrings”

SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

这就是我对“appSettings”所拥有的内容

SqlConnection con = new SqlConnection();
con = ConfigurationManager.AppSettings("ConnectionString");

但它不起作用。

4 个答案:

答案 0 :(得分:40)

您的web.config文件应具有以下结构:

<configuration>
    <connectionStrings>
        <add name="MyConnectionString" connectionString="..." />
    </connectionStrings>
</configuration>

然后,使用名为MyConnectionString的连接字符串创建SQL连接:

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);

如果您希望将连接字符串保留在配置文件的AppSettings部分中,它将如下所示:

<configuration>
    <appSettings>
        <add key="MyConnectionString" value="..." />
    </appSettings>
</configuration>

然后你的SqlConnection构造函数将如下所示:

SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["MyConnectionString"]);

答案 1 :(得分:23)

ConfigurationManager.AppSettings实际上是一个属性,因此您需要使用方括号。

总的来说,这就是你需要做的事情:

SqlConnection con= new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);

问题是您尝试将con设置为字符串,这是不正确的。 您必须将其传递给构造函数或设置con.ConnectionString属性。

答案 2 :(得分:0)

你应该使用[]

var x = ConfigurationManager.AppSettings["APIKey"];

答案 3 :(得分:0)

\如果您发布的内容正是您所使用的,那么您的问题就显而易见了。现在假设你的web.config中有你这样定义的连接字符串

 <add name="SiteSqlServer" connectionString="Data Source=(local);Initial Catalog=some_db;User ID=sa;Password=uvx8Pytec" providerName="System.Data.SqlClient" />

在你的代码中你应该使用name属性中的值来引用你想要的连接字符串(你实际上可以为不同的数据库定义几个连接字符串),所以你会有

 con.ConnectionString = ConfigurationManager.ConnectionStrings["SiteSqlServer"].ConnectionString;