我已经将我的applciation托管到IIS -7并且浏览正确但是它让我现在登录,desipte我检查它有一个正确的连接字符串,它在我的日志页面抛出错误
描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
Line 96: SqlParameter[] arrParams = new SqlParameter[0];
Line 97: _userDetails = Data.GetSQLQueryResults(sqlQuery, 0, arrParams);
Line 98: if (_userDetails.Rows.Count != 0)
Line 99: {
Line 100: _userAccountID = _userDetails.Rows[0]["UserAccountID"].ToString();
Source File: d:\Projects\June 20\CorrDefensev2\App_Code\UserInfo.cs Line: 98
Stack Trace:
[NullReferenceException: Object reference not set to an instance of an object.]
UserInfo.setUserData(MembershipUser membershipUser) in d:\Projects\June 20\CorrDefensev2\App_Code\UserInfo.cs:98
UserInfo..ctor(String username) in d:\Projects\June 20\CorrDefensev2\App_Code\UserInfo.cs:76
Account_Login.Login1_LoggingIn(Object sender, LoginCancelEventArgs e) in d:\Projects\June 20\CorrDefensev2\MyPublic\Login.aspx.cs:76
System.Web.UI.WebControls.Login.OnLoggingIn(LoginCancelEventArgs e) +115
System.Web.UI.WebControls.Login.AttemptLogin() +85
System.Web.UI.WebControls.Login.OnBubbleEvent(Object source, EventArgs e) +101
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
System.Web.UI.WebControls.ImageButton.OnCommand(CommandEventArgs e) +125
System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String eventArgument) +177
System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563
the solution: all i had to use sql server authentication that is a connection string in web.config with the username, password, and it works fantastic...
答案 0 :(得分:0)
SqlParameter[] arrParams = new SqlParameter[0];
_userDetails = Data.GetSQLQueryResults(sqlQuery, 0, arrParams);
您传递的arrParams中包含零元素,您的查询可能需要一些参数来返回结果。您现在可以获得_userDetails的空值。您可以通过在_userDetails
上设置null来阻止异常if (_userDetails != null && _userDetails.Rows.Count != 0)
{
}
找出确切原因
if (_userDetails != null)
{
//No data table returned
if( _userDetails.Rows.Count != 0)
{
//No record found
}
}