0

我有以下代码

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

但是我在返回语句中不断收到以下错误。

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 回答