it-roy-ru.com

Получение строки подключения 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

11
A_AR

Это потому, что коллекция ConnectionStrings является коллекцией объектов ConnectionStringSettings , но конструктор SqlConnection ожидает параметр string. Таким образом, вы не можете просто передать constring сам по себе.

Попробуйте это вместо этого.

SqlConnection sql = new SqlConnection(constring.ConnectionString);
8
p.s.w.g

Вы можете просто передать 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());
9
Praveen Nambiar

попробуй это

readonly SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["northwindconnect"].ToString());
4
Rajeev Kumar

Я предлагаю вам создать функцию, а не напрямую обращаться к файлу 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=\"?\"/>"));

    }

И использовать эту функцию в вашем приложении

0
शेखर