ボタンをクリックするだけで、テキストボックスからデータベースに書き込む方法を学んでいます。 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)に無効な引数があります。
constring
のweb.config
から接続文字列をロードしたい
ConnectionStrings
コレクションは ConnectionStringSettings
オブジェクトのコレクションですが、 SqlConnection
であるためです=コンストラクタはstring
パラメータを期待します。したがって、constring
だけを渡すことはできません。
代わりにこれを試してください。
SqlConnection sql = new SqlConnection(constring.ConnectionString);
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());
これを試して
readonly SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["northwindconnect"].ToString());
次のように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=\"?\"/>"));
}
そして、あなたのアプリケーションでこの関数を使用してください