【问题标题】:Object reference not set to an instance of an object #5对象引用未设置为对象 #5 的实例
【发布时间】:2011-01-30 07:23:05
【问题描述】:
sUsername.Trim();
sPassword.Trim();
string ConnectionString = WebConfigurationManager.ConnectionStrings["dbnameConnectionString"].ConnectionString;
SqlConnection myConnection = new SqlConnection(ConnectionString);

对象引用未设置为对象的实例。 说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.NullReferenceException:对象引用未设置为对象的实例。

有什么想法吗?我不明白这个错误。

【问题讨论】:

  • 嗯,我明白,但你错过了行参考。错误发生在哪里?
  • WebConfigurationManager.ConnectionStrings["dbnameConnectionString"] 返回 null
  • 两个赞成这个问题?认真的吗?
  • NullReferenceException 的几乎所有情况都是相同的。请参阅“What is a NullReferenceException in .NET?”获取一些提示。
  • 有人可以将其作为stackoverflow.com/questions/4660142/…的副本关闭吗?

标签: c# nullreferenceexception


【解决方案1】:

嗯,你还没有显示它出现在哪一行。它表明发生了其中一种情况:

  • sUsername 为空
  • sPassword 为空
  • WebConfigurationManager.ConnectionStrings["dbnameConnectionString"] 返回 null

顺便说一句,像这样将Trim() 单独称为声明是没有意义的。字符串是不可变的 - Trim() 返回修剪后的版本。你想要这样的东西:

sUsername = sUsername.Trim();
sPassword = sPassword.Trim();

...但只有在检查它们是否为空之后。

【讨论】:

    【解决方案2】:

    嗯,我明白,但你错过了行参考。错误发生在哪里?

    Line 30:         sUsername.Trim();
    Line 31:         sPassword.Trim();
    Line 32:         string ConnectionString = WebConfigurationManager.ConnectionStrings["dbnameConnectionString"].ConnectionString;
    Line 33:         SqlConnection myConnection = new SqlConnection(ConnectionString);
    Line 34:         try
    

    如果我假设 sPassword 存在 - 并且 sUsername... ...那么 web.config 中是否存在 ConnectionString“dbNameConnectionString”?如果不是,则为空,“.ConnectionString”自然会抛出该错误。

    【讨论】:

    • 啊,是的,我忘记编辑 web.config - 正在工作,谢谢。
    • 标记为答案,如果这解决了它!我知道这是一篇旧帖子,但仍然
    【解决方案3】:

    第 30 行和第 31 行不执行任何操作:

    sUsername = sUsername.Trim();
    sPassword= sPassword.Trim();
    

    发布错误发生的地方

    【讨论】:

      【解决方案4】:

      这只是意味着您正在尝试访问空引用的成员;即这里的变量之一是null。在不知道行号的情况下很难说是哪一个,但我猜是sUsernamesPassword

      【讨论】:

        【解决方案5】:

        发生这种情况是因为任何一个变量都是 NULL。您可以在调试(运行时)期间检查sUserNamesPassword 变量的值。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-09-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多