2016-09-26 12 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

ユーザーのlogin_time情報は、sys.dm_exec_sessionsテーブルから取得できます。例えば

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ブロックにメソッドを配置する必要があります。 –

関連する問題