sUsername.Trim();
sPassword.Trim();
string ConnectionString = WebConfigurationManager.ConnectionStrings["dbnameConnectionString"].ConnectionString;
SqlConnection myConnection = new SqlConnection(ConnectionString);
对象引用未设置为对象的实例。 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息。
异常详细信息:System.NullReferenceException:未将对象引用设置为对象的实例。
有什么想法吗?我不明白这个错误。
答案 0 :(得分:9)
嗯,你没有显示它出现在哪一行。它表明其中一个发生了:
sUsername
为空sPassword
为空WebConfigurationManager.ConnectionStrings["dbnameConnectionString"]
返回null 顺便说一句,将Trim()
作为一个单独的声明就像这样毫无意义。字符串是不可变的 - Trim()
返回修剪后的版本。你想要这样的东西:
sUsername = sUsername.Trim();
sPassword = sPassword.Trim();
...但只有在检查它们是否为空之后才会显示。
答案 1 :(得分: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 ...... ...然后web.config中是否存在ConnectionString“dbNameConnectionString”?如果不是 - 那就是null,并且“.ConnectionString”自然会抛出该错误。
答案 2 :(得分:1)
30号线和31号线没有做任何事情:
sUsername = sUsername.Trim();
sPassword= sPassword.Trim();
发布错误发生的地方
答案 3 :(得分:0)
这只是意味着您正在尝试访问空引用的成员;即这里的一个变量是null
。如果不知道行号,就很难说出哪一行,但我猜是sUsername
或sPassword
。
答案 4 :(得分:0)
这是因为任何一个变量都是NULL。您可以在调试(运行时)期间检查sUserName
和sPassword
变量的值。