2016-09-26 3 views
0

사용자가 로그인 할 때 시스템의 현재 시간을 저장하고 싶습니다.사용자의 현재 로그인 시간을 데이터베이스에 저장하는 방법

public string getlgn(string userNametime, string passWordtime) 
{ 
    var myUser = entity.MVCUsers.FirstOrDefault(m => m.Username == userNametime && m.Password == passWordtime); 
    //string s= lastweblogin(userNametime, passWordtime); 

    // Get previous login 
    var prevLogin = myUser.Lastlogintime; 

    // Update with current login 
    string currentime = DateTime.Now.ToString(); 
    prevLogin = currentime; 
    MVCUser tbluser = new MVCUser(); 
    entity.MVCUsers.Add(tbluser); 

    //entity.SaveChanges(); 
    var userlogindate = myUser.UserID.ToString(); 
    return (userlogindate); 
} 
+1

내 질문은 참조를 위해이 방법을 확인할 수 있습니다, 문제는 무엇인가? – GuidoG

답변

0

sys.dm_exec_sessions 테이블에서 사용자의 login_time 정보를 검색 할 수 있습니다. 예를 들어

:

select max (login_time) as last_login_time, login_name from sys.dm_exec_sessions group by login_name; 
0

다음으로 코드를 대체하여보십시오.

문자열 대신 datetime 변수를 사용하고 .tostring으로 변환하지 마십시오.

public string getlgn(string userNametime, string passWordtime) 
 
{ 
 

 
    var myUser = entity.MVCUsers.FirstOrDefault(m => m.Username == userNametime && m.Password == passWordtime); 
 
    //string s= lastweblogin(userNametime, passWordtime); 
 

 
    // Get previous login 
 
    var prevLogin = myUser.Lastlogintime; 
 

 
    // Update with current login 
 
    datetime currentime = DateTime.Now; 
 
    prevLogin = currentime; 
 
    MVCUser tbluser = new MVCUser(); 
 
    entity.MVCUsers.Add(tbluser); 
 

 
    //entity.SaveChanges(); 
 
    var userlogindate = myUser.UserID.ToString(); 
 
    return (userlogindate); 
 
}

아니면 당신이

public ActionResult Index(UserLogin user) 
 
{ 
 
    try 
 
    { 
 
     if (ModelState.IsValid) 
 
     { 
 
      Session["UserName"] = user.UserName.ToString(); 
 
      User us = new User(); 
 

 
      if (us.login(user)) 
 
      { 
 
       int id = user.PK_UserID; 
 
       user.LastLogin = DateTime.Now; 
 
       us.updatelogintime(id,user); 
 
       return RedirectToAction("AddUsers", "User"); 
 
      } 
 
     } 
 
     ViewBag.Message = " Invalid Username or Password"; 
 
     return View(); 
 
    } 
 
    catch 
 
    { 
 
     return View(); 
 
    }

+0

우리는 에러를 던지지 않도록 try & catch 블록에 메소드를 넣어야합니다. –

관련 문제