Получение строки подключения sql из файла web.config
Я изучаю запись в базу данных из текстового поля одним нажатием кнопки. Я указал строку подключения в мою базу данных NorthWind в моем файле web.config
. Однако я не могу получить доступ к строке подключения в моем коде.
Это то, что я пробовал.
protected void buttontb_click(object sender, EventArgs e)
{
System.Configuration.Configuration rootwebconfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/Mohtisham");
System.Configuration.ConnectionStringSettings constring;
constring = rootwebconfig.ConnectionStrings.ConnectionStrings["northwindconnect"];
SqlConnection sql = new SqlConnection(constring);
sql.Open();
SqlCommand comm = new SqlCommand("Insert into categories (categoryName) values ('" + tb_database.Text + "')", sql);
comm.ExecuteNonQuery();
sql.Close();
}
Я получаю ошибку всплывающей подсказки для
SqlConnection sql = new SqlConnection(constring);
а
System.data.SqlClient.Sqlconnection.Sqlconnection(string) содержит несколько недопустимых аргументов.
Я хочу загрузить строку подключения из web.config
в constring
Ответы
Ответ 1
Это потому, что коллекция ConnectionStrings
представляет собой коллекцию ConnectionStringSettings
, но конструктор SqlConnection
ожидает параметр string
. Поэтому вы не можете просто пройти constring
самостоятельно.
Попробуйте это вместо.
SqlConnection sql = new SqlConnection(constring.ConnectionString);
Ответ 2
Вы можете просто передать Name
вашему файлу ConnectionString
в web.config
и сделать это:
web.config:
<add name="ConnectionStringName" connectionString=YourServer"; Initial Catalog=YourDB; Integrated Security=True"/>
Код за:
SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionStringName"].ToString());
Ответ 3
попробуйте это
readonly SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["northwindconnect"].ToString());
Ответ 4
Я предлагаю вам создать функцию, а не напрямую обращаться к файлу web.config, следуя
public static string GetConfigurationValue(string pstrKey)
{
var configurationValue = ConfigurationManager.AppSettings[pstrKey];
if (!string.IsNullOrWhiteSpace(configurationValue))
return configurationValue;
throw (new ApplicationException(
"Configuration Tag is missing web.config. It should contain <add key=\"" + pstrKey + "\" value=\"?\"/>"));
}
И используйте эту функцию в своем приложении