web-dev-qa-db-ja.com

ConfigurationManager.AppSettingsの使用方法

「appSettings」を使用したことがありません。これをC#でSqlConnectionで使用するように構成するにはどうすればよいですか。これは「ConnectionStrings」に使用するものです

SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

そして、これは私が「appSettings」のために持っているものです

SqlConnection con = new SqlConnection();
con = ConfigurationManager.AppSettings("ConnectionString");

しかし、それは機能していません。

40
jorame

ConfigurationManager.AppSettingsは実際にはプロパティであるため、角括弧を使用する必要があります。

全体として、次のことを行う必要があります。

SqlConnection con= new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);

問題は、conを文字列に設定しようとしたことです。これは正しくありません。コンストラクタに渡すか、con.ConnectionStringプロパティを設定する必要があります。

24

きみの web.configファイルには次の構造が必要です。

<configuration>
    <connectionStrings>
        <add name="MyConnectionString" connectionString="..." />
    </connectionStrings>
</configuration>

次に、MyConnectionStringという名前の接続文字列を使用してSQL接続を作成します。

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);

設定ファイルのAppSettingsセクションに接続文字列を保持したい場合、次のようになります。

<configuration>
    <appSettings>
        <add key="MyConnectionString" value="..." />
    </appSettings>
</configuration>

そして、SqlConnectionコンストラクターは次のようになります。

SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["MyConnectionString"]);
40
Justin Rusbatch

[]を使用する必要があります

var x = ConfigurationManager.AppSettings["APIKey"];
0
adt

\あなたが投稿したものがまさにあなたが使用しているものである場合、あなたの問題は少し明らかです。 web.configで、次のように定義された接続文字列があると仮定します

 <add name="SiteSqlServer" connectionString="Data Source=(local);Initial Catalog=some_db;User ID=sa;Password=uvx8Pytec" providerName="System.Data.SqlClient" />

コードでは、name属性の値を使用して、必要な接続文字列を参照する必要があります(実際には、異なるデータベースに複数の接続文字列を定義できます)。

 con.ConnectionString = ConfigurationManager.ConnectionStrings["SiteSqlServer"].ConnectionString;
0
Obi Onuorah