0
private void getUserLoginDepartment(string AccessID, string UserPROFid)
        {
            try
            {
                DBWPAccountRecordsDataContext DBACCOUNT = new DBWPAccountRecordsDataContext();
                var query = (from i in DBACCOUNT.WP_UserAccessPorts
                             join
                                 z in DBACCOUNT.WP_Departments on i.AccessPortID equals z.Dept_ID
                             where i.AccessPortID == AccessID && i.ProfileUser_ID == UserPROFid
                             select new
                             {
                                 PORT1 = i.AccessPoint1,
                                 PORT2 = i.AccessPoint2,
                                 PORT3 = i.AccessPoint3,
                                 PORT4 = i.AccessPoint4,
                                 DEPT = z.Dept_DESC,
                                 DEPTPORT = z.Dept_PortNo
                             }).FirstOrDefault();
                if (query.PORT1.ToString() != null || query.PORT1.ToString() != string.Empty)
                { Session["Port1"] = query.PORT1; }
                else { Session["Port1"] = ""; }
                if (query.PORT2.ToString() != null || query.PORT2.ToString() != string.Empty)
                { Session["Port2"] = query.PORT2; }
                else { Session["Port2"] = ""; }
                if (query.PORT3.ToString() != null || query.PORT3.ToString() != string.Empty)
                { Session["Port3"] = query.PORT3; }
                else { Session["Port3"] = ""; }
                if (query.PORT4.ToString() != null || query.PORT4.ToString() != string.Empty)
                { Session["Port4"] = query.PORT4; }
                else { Session["Port4"] = ""; }                
            }
            finally
            {

            }
        }

ブレークポイントに到達するとエラーが発生します 最初の IF ステートメント データベースのレコードは、その値が「WebAdmin」である空ではないことを示していますが、それを取得してセッション ["PORT1"] に保存する必要があることを支持します私が見逃したものがあるか、linqクエリで間違っています。注:*これは ASP.NET C# アプリケーションです

EDIT 10/2/2013 0420PM: そのメソッドを使用した後もエラーです。

ここに画像の説明を入力

4

2 に答える 2

1

1) 使用時に確認する必要queryがありnullますFirstOrDefault

2)各PORTXを確認する必要がありますnull

3) string.IsNullOrEmpty( )PORTX の文字列がnull

var query = ( ... ).FirstOrDefault( );
if( query != null )
{
    if( query.PORT1 != null && !string.IsNullOrEmpty( query.PORT1.ToString( ) ) )
    {
    }
    else { ... }
}
于 2013-10-02T08:05:10.493 に答える