-3

IIS -7へのアプリケーションをホストしましたが、適切に参照されますが、ログインできません。正しい接続文字列があることを確認したので、ログページにエラーが表示されます。

説明:現在の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...
4

1 に答える 1

0
 SqlParameter[] arrParams = new SqlParameter[0];
 _userDetails = Data.GetSQLQueryResults(sqlQuery, 0, arrParams);

ゼロ要素を含む arrParams を渡しています。クエリは、何らかのパラメーターが結果を返すことを期待している可能性があります。現在取得しているように、_userDetails が null である可能性があります。_userDetails に null のチェックを入れることで例外を防ぐことができます

if (_userDetails != null && _userDetails.Rows.Count != 0)
{

}

正確な原因を知るために

if (_userDetails != null)
{
   //No data table returned
   if( _userDetails.Rows.Count != 0)
   {
        //No record found
   }
}
于 2012-07-11T07:22:41.507 に答える