如何使用ConfigurationManager.AppSettings

jor*_*ame 40 c# sql asp.net sqlconnection

我之前从未使用过"appSettings".如何在C#中配置它以与SqlConnection一起使用,这就是我用于"ConnectionStrings"的内容

SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
Run Code Online (Sandbox Code Playgroud)

这就是我对"appSettings"的看法

SqlConnection con = new SqlConnection();
con = ConfigurationManager.AppSettings("ConnectionString");
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

Jus*_*tch 41

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

<configuration>
    <connectionStrings>
        <add name="MyConnectionString" connectionString="..." />
    </connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

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

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
Run Code Online (Sandbox Code Playgroud)

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

<configuration>
    <appSettings>
        <add key="MyConnectionString" value="..." />
    </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

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

SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["MyConnectionString"]);
Run Code Online (Sandbox Code Playgroud)


Ant*_*hev 24

ConfigurationManager.AppSettings 实际上是一个属性,所以你需要使用方括号.

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

SqlConnection con= new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
Run Code Online (Sandbox Code Playgroud)

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