0

私は次のコードを持っています

private string conn(string name)
    {
        return ConfigurationManager.ConnectionStrings[String.Format("{0}ConnectionString", name)].ConnectionString;
    }

しかし、returnステートメントで以下のエラーが発生し続けます。

System.NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません

これの何が問題なのか教えていただけますか?

4

3 に答える 3

1

コードは name + "ConnectionString" という名前の接続文字列を探します。web.config にこの名前の接続文字列がないようです。生成された名前で接続文字列を追加するか、次のようにコードを変更します。

    private string conn(string name)
    {
        var coll = ConfigurationManager.ConnectionStrings[String.Format("{0}ConnectionString", name)];
        if (coll != null)
        {
            return coll.ConnectionString;
        }
        else
        {
            return null;
        }
    }
于 2012-11-27T20:39:33.090 に答える
0

このエラーは、接続文字列が null を返す場合に発生します。これは、通常は web.config ファイルで設定される接続文字列を設定していないことを意味します。

<connectionStrings>
    <add name="connectionString" connectionString="Server=  (local);Database=sampledb;Trusted_Connection=true;" providerName="System.Data.SqlClient"/> 
</connectionStrings>
于 2012-11-27T20:38:01.487 に答える
0

メソッドにパラメーターで渡された名前が null の場合はどうなりますか??

この投稿と、SOで既に提供されている他の回答をご覧ください。

于 2012-11-27T20:38:21.807 に答える