web-dev-qa-db-fra.com

Obtention de la chaîne de connexion SQL à partir du fichier web.config

J'apprends à écrire dans une base de données à partir d'une zone de texte en cliquant sur un bouton. J'ai spécifié la chaîne de connexion à ma base de données NorthWind dans mon fichier web.config. Cependant, je ne peux pas accéder à la chaîne de connexion dans mon code. 

C'est ce que j'ai essayé.

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();
}

Je reçois une erreur d’info-bulle pour 

SqlConnection sql = new SqlConnection(constring);

comme

System.data.SqlClient.Sqlconnection.Sqlconnection (chaîne) a des arguments non valides.

Je veux charger la chaîne de connexion à partir du web.config dans constring

11
A_AR

En effet, la collection ConnectionStrings est une collection d'objets ConnectionStringSettings , mais le constructeur SqlConnection s'attend à un paramètre string. Donc, vous ne pouvez pas simplement passer constring par lui-même.

Essayez ceci à la place.

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

Vous pouvez simplement donner une Name à votre ConnectionString dans le fichier web.config et faire ceci:

web.config: 

<add name="ConnectionStringName"  connectionString=YourServer"; Initial Catalog=YourDB; Integrated Security=True"/>

Code Derrière: 

SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionStringName"].ToString());
9
Praveen Nambiar

essaye ça

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

Je vous suggère de créer une fonction plutôt que d'accéder directement au fichier web.config comme suit

    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=\"?\"/>"));

    }

Et utilisez cette fonction dans votre application

0
शेखर