4
sUsername.Trim();
sPassword.Trim();
string ConnectionString = WebConfigurationManager.ConnectionStrings["dbnameConnectionString"].ConnectionString;
SqlConnection myConnection = new SqlConnection(ConnectionString);

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

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

有任何想法吗?我不明白这个错误。

4

5 回答 5

9

好吧,您还没有显示它出现在哪一行。它表明其中之一发生了:

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

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

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

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

于 2010-03-22T11:21:22.727 回答
4

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

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... ...那么 ConnectionString“dbNameConnectionString”是否存在于 web.config 中?如果不是,则为空,并且“.ConnectionString”自然会引发该错误。

于 2010-03-22T11:21:19.920 回答
1

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

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

发布错误发生的位置

于 2010-03-22T11:22:51.060 回答
0

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

于 2010-03-22T11:21:47.477 回答
0

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

于 2012-08-09T11:24:42.557 回答