实现记录和查看用户的系统登录和退出历史

39 篇文章 1 订阅

一、首先定义3个全局变量:
    在登录窗体FrmLogin.cs定义3个全局变量

  1. 登录成功和退出的用户Uid (public static string Uid;) --在第三章密码修改功能的时候已经定义了
  2. 登录成功和退出的时间Time  (public static DateTime Time;)
     3. 登录情况Situation-2种包括"登录"和"退出"  (public static string Situation;)

//定义一个全局变量 Uid;  用于获取登录成功后的用户名  public static string Uid;  
//定义一个全局变量 Time  用于获取登录成功后的用户的登录时间  public static DateTime Time;  
//定义一个登录全局变量 用来获取 "登录" 或是"退出"  public static string Situation; 

二、将登陆信息赋给全局变量

定义完获取登录的全局变量之后,然后我们需要在判断登录成功后的代码里添加一些代码来获取用户的所有登录信息,并赋给全局变量.
//如果文本框中输入的密码 ==数据库中的密码  
if (pwd == txtPwd.Text)  
{  
    //获取登陆成功后的用户ID  
    Uid = txtName.Text;  
    //获取当前登录时间  
    Time = DateTime.Now;  
    //获取当前用户登录的情况  
    Situation = "登录";  
    //说明在该账户下 密码正确, 系统登录成功  
    MessageBox.Show("系统登录成功,正在跳转主页面...");  
    FrmMain main = new FrmMain();  
    main.Show();  
    this.Hide();  
}  
三、在登陆成功后将登陆信息写入数据库 
public void AddLog()  
        {  
            string sql = "insert into Log(User_Name,Situation,Time) values (@User_Name,@Situation,@Time) ";  
  
            //简单判断下 插入的数据是否为空 如果为空 则弹出提示  
            //通常这里不需要(用于异常提示)  
            if (FrmLogin.Uid == "" || FrmLogin.Situation == "" || FrmLogin.Time.ToString() == "")  
            {  
                MessageBox.Show("数据不能为空!");  
                return;  
            }  
            //向数据库里插入参数  
            SqlParameter[] param ={  
                                       new SqlParameter("@User_Name",FrmLogin.Uid),  
                                       new SqlParameter("@Situation",FrmLogin.Situation),  
                                       new SqlParameter("@Time",FrmLogin.Time)  
                                   };  
            //使用sql连接指令 获取connStr的连接字符串  
            SqlConnection conn = new SqlConnection(connStr);  
            //使用cmd指令来装载 sql查询语句和conn连接指令  
            SqlCommand cmd = new SqlCommand(sql, conn);  
            //打开数据库  
            conn.Open();  
            //向cmd中添加所有参数  
            cmd.Parameters.AddRange(param);  
            //将cmd的执行查询获得的整数值赋给n  
            int n = cmd.ExecuteNonQuery();  
            //关闭数据库  
            conn.Close();  
        }  
四、退出登陆
//写一个获取当前系统时间的方法  
        public void GetExitTime()  
        {  
            //获取当前退出系统的时间  
            FrmLogin.Time = DateTime.Now;  
            //将当前"退出"字符串赋给登录窗体的全局变量Situation  
            FrmLogin.Situation = "退出";  
        }  
        private void btnExit_Click(object sender, EventArgs e)  
        {  
            //调用获取当前退出时间的方法  
            GetExitTime();  
            //将当前用户的登录信息添加到DataGridView里面  
            AddLog();  
            //直接退出系统  
            Application.Exit();  
        }  

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮特大熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值