本文介绍了如何保存登录信息使用asp.net在数据库中注销时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

朋友,

我想在数据库中存储用户登录和注销时间.

用户登录后,注销时间会在10分钟后自动更新.

我正在使用asp.net c#和后端sql server2005.

我该怎么办.

请帮助我....

hi friends,

i want store user login and logout time in the database.

after user login, logout time is automatically updated after 10 min.

i m using asp.net c# and back-end sql server 2005.

how can i do it.

plz help me....

推荐答案

CREATE TABLE USERLOG(
   ID INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
   USERID INT,
   LOGIN DATETIME,
   LOGOUT DATETIME
)


CREATE PROCEDURE SP_TRACK_USERLOG
	@USERID INT = NULL,
	@COMMAND INT = 0
AS
BEGIN
	SET NOCOUNT ON;
	IF(@COMMAND = 0)
		BEGIN
			INSERT INTO USERLOG (USERID,LOGIN,LOGOUT) VALUES (@USERID,GETDATE(),NULL)
		END
	ELSE IF (@COMMAND = 1)
		BEGIN
			UPDATE USERLOG SET LOGOUT = GETDATE() WHERE USERID = @USERID
		END
END





SqlConnection cs = new SqlConnection("YOUR CONNECTION STRING");
cs.Open();
SqlCommand cmd = new SqlCommand();
public void Login(int userID)
{            
   cmd.Connection = cs;
   cmd.CommandType = CommandType.StoredProcedure;
   cmd.CommandText = "SP_TRACK_USERLOG";
   cmd.Parameters.AddWithValue("@USERID", userID);
   cmd.Parameters.AddWithValue("@COMMAND", 0);
   cmd.ExecuteNonQuery();
}
public void LogOut(int userID)
{
   cmd.Connection = cs;
   cmd.CommandType = CommandType.StoredProcedure;
   cmd.CommandText = "SP_TRACK_USERLOG";
   cmd.Parameters.AddWithValue("@USERID", userID);
   cmd.Parameters.AddWithValue("@COMMAND", 1);
   cmd.ExecuteNonQuery();
}




这篇关于如何保存登录信息使用asp.net在数据库中注销时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-28 06:05