ASP.NET System.NullReferenceException:未将对象引用设置为对象的实例

时间:2012-11-27 20:31:38

标签: asp.net connection connection-string

我有以下代码

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

但我一直在返回声明中得到以下错误。

  

System.NullReferenceException:未将对象引用设置为对象的实例

你能告诉我这有什么问题吗?

3 个答案:

答案 0 :(得分: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;
        }
    }

答案 1 :(得分:0)

如果connectionstring返回null,则会出现此错误,意味着您没有设置通常在web.config文件中设置的connectionstring

<connectionStrings>
    <add name="connectionString" connectionString="Server=  (local);Database=sampledb;Trusted_Connection=true;" providerName="System.Data.SqlClient"/> 
</connectionStrings>

答案 2 :(得分:0)

如果参数传递给方法的名称为null,会发生什么?

您应该查看此post以及SO上已提供的其他答案。