【问题标题】:ASP.NET System.NullReferenceException: Object reference not set to an instance of an objectASP.NET System.NullReferenceException:对象引用未设置为对象的实例
【发布时间】:2012-11-27 20:31:37
【问题描述】:

我有以下代码

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

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

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

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

【问题讨论】:

  • 请确保您在 web.config 文件中设置了连接字符串。

标签: asp.net connection connection-string


【解决方案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;
        }
    }

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      你应该看看这个post,以及其他已经在 SO 上提供的答案。

      【讨论】:

        猜你喜欢
        • 2013-06-25
        • 2018-09-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多