Как использовать ConfigurationManager.Параметр appsettings
Я никогда не использовал "appSettings" раньше. Как настроить это в C# для использования с SqlConnection, это то, что я использую для "ConnectionStrings"
SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
и это то, что у меня есть для "appSettings"
SqlConnection con = new SqlConnection();
con = ConfigurationManager.AppSettings("ConnectionString");
но это не работает.
4 ответов
ConfigurationManager.AppSettings на самом деле является свойством, поэтому вам нужно использовать квадратные скобки.
в целом, вот что нужно сделать:
SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
проблема в том, что вы пытались установить con в строку, что неверно. Вы должны либо передать его конструктору, либо установить con.Свойство ConnectionString.
код web.config
файл должен иметь такую структуру:
<configuration>
<connectionStrings>
<add name="MyConnectionString" connectionString="..." />
</connectionStrings>
</configuration>
затем, чтобы создать соединение SQL, используя строку соединения с именем MyConnectionString
:
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"]);
\Если то, что вы опубликовали, именно то, что вы используете, тогда ваша проблема немного очевидна. Если в вашей сети.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;