我之前从未使用过“appSettings”。如何在C#中配置它以与SqlConnection一起使用,这就是我用于“ConnectionStrings”
SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
这就是我对“appSettings”所拥有的内容
SqlConnection con = new SqlConnection();
con = ConfigurationManager.AppSettings("ConnectionString");
但它不起作用。
答案 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;