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
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);
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());
essaye ça
readonly SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["northwindconnect"].ToString());
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