日期:2014-05-18  浏览次数:20865 次

记录用户上次登录时间
我想做一个就是上次访问者的登录时间和ip 我用了firsttime,lasttime ,firstip,lastip四个字段,我是让他在用户登录时候把这四个字段写入到数据库代码是
  command1.CommandType = CommandType.StoredProcedure;
  conn1.Open();
  SqlParameter date = command1.Parameters.Add("@firsttime", SqlDbType.DateTime);
  date.Value = Convert.ToString(DateTime.Now);
  SqlParameter date1=command1 .Parameters .Add ("@lasttime",SqlDbType.DateTime );
  date1.Value = date .Value ;
  SqlParameter firstip = command1.Parameters.Add("@firstip", SqlDbType.NVarChar, 50);

  firstip.Value = Convert.ToString(Request.UserHostAddress);
  SqlParameter lastip=command1 .Parameters .Add ("@lastip",SqlDbType.NVarChar ,50);
  lastip.Value = firstip.Value;
  command1.ExecuteNonQuery();
  conn1.Close();
用的是存储过程 但是写入数据库的时间firsttime和lasttime是一个样的,是同一时间,不知道怎样才能读出上次登录时间,
  问题很简单,初学者,请详细讲解,谢谢

------解决方案--------------------
你上次的时间是必需先从你库里的firsttime这个字段的值..以此类推.

是先从库取出值然后分别赋给对应的.然后当前是永远是DateTime.Now
------解决方案--------------------
firsttime 只是第一次记录才写,你这里每次都写有问题.加个判断该用户是否已登录

------解决方案--------------------
你要取出上次登录的时间才行.

而不是把所有的时间都用当前时间
------解决方案--------------------
先取改用户的最后一次登陆时间嘛. 如果不存在的话,那他就是第一次登录了.select max(lasttime ) from table where id = '用户ID'