2012-06-21 5 views
14

私はこのコードにいくつかのすばやく簡単なエラーがあると確信していますが、何とかこの2時間を費やして解決できませんでした。app.configからConnectionStringを取得する

App.config

<configuration> 
    <connectionStrings> 
    <add name="BO" 
     connectionString="Data Source=MyServer;Initial Catalog=BO;User ID=WebUser;Password=MyPasswd" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
</configuration> 

Class.cs

string connectionString = getNewConnection(); 
using (SqlConnection conn = new SqlConnection(connectionString)) { code } 

方法。

public static string getNewConnection() 
{ 
    return ConfigurationManager.ConnectionStrings["BO"].ConnectionString; 
} 

エラー:行に

Object reference not set to an instance of an object

return ConfigurationManager.ConnectionStrings["BO"].ConnectionString; 

EDIT:

Error image, the Spanish sentence means: Object reference not set to an instance of an object

答えて

10

それは次のようになります。

ConfigurationManager.ConnectionStrings["BO"].ConnectionString; 

編集:

あなたがそれらをまだ持っていない場合

そうで、私はそのSystem.Configurationと思います以下の回答で述べたようにあなたは、同様に対応するライブラリが必要になりますフルあなたが持っている必要があります。

public static string getNewConnection() 
{ 
    return ConfigurationManager.ConnectionStrings["BO"].ConnectionString; 
} 
+0

ライブラリを修正しました。 "ConnectionStringSettingsCollection connections = ConfigurationManager.ConnectionStrings [" BO "]を使用するとSystem.Configuration –

+0

になります。私はエラー "暗黙のうちに '文字列'を 'System.Configuration.ConnectionStringSettingsCollection'に暗黙的に変換することはできません" –

+0

getNewConnection()関数で 'return ConfigurationManager.ConnectionStrings [" BO "]を実行するだけで、その必要はありません。 ConnectionString; –

1

あなたはWebConfigurationManagerを使用しましたか?

string MyConnectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["BO"].ConnectionString; 
+0

System.Webは.Configurationなどを持たない(System.Webを使用して追加しました) –

2

クラスでこれらのコードを使用します。

class Connection 
    { 
     public static string con 
     { 
      get 
      { 
       return System.Configuration.ConfigurationManager.ConnectionStrings["sql"].ConnectionString; 
      } 
     } 
    } 
+0

これは私に同じエラー(コード行を参照)を与えます。私のapp.configが間違っているでしょうか? –

0

はSystem.Configuration.dllへの参照を追加し、あなたはSystem.Configuration.ConfigurationManagerを使用することができるはずです。

関連する問題