zoukankan      html  css  js  c++  java
  • 登录事件

       private void btnlogin_Click(object sender, EventArgs e)
            {
                //登录按钮事件         
                try
                {
                    //判断最后登录时间 是不是今天
                    string s5 = "select * from Users where UserName=@u";
                    SQLiteParameter p4 = new SQLiteParameter("@u",txtUserName.Text);
                    DataTable d= SqliteHelper.ExecuteDatatable(s5, p4);
                    if (Convert.ToDateTime(d.Rows[0]["LastLoginTime"]).ToString("yyyy-MM-dd")!=DateTime.Now.ToString("yyyy-MM-dd"))
                    {
                        string s4 = "update Users set LastLoginTime=datetime('now','localtime'), LoginCount=0,ErrorCount=0 where UserName=@u";
                        SqliteHelper.ExecuteNonQuery(s4, p4);
                    }
    
                    if (txtPwd.Text.Trim() != "" && txtUserName.Text.Trim() != "")
                    {
                        string s = "select count(*) from Users where UserName=@u and PassWord=@p";
                        SQLiteParameter[] p = { new SQLiteParameter("@u", txtUserName.Text), new SQLiteParameter("@p", txtPwd.Text) };
                        int i = Convert.ToInt32(SqliteHelper.ExecuteScalar(s, p));
    
                        if (i > 0)
                        {
                            string s1 = "select * from Users where UserName=@u and PassWord=@p";
                            SQLiteParameter[] p1 = { new SQLiteParameter("@u", txtUserName.Text), new SQLiteParameter("@p", txtPwd.Text) };
                            DataTable dt = SqliteHelper.ExecuteDatatable(s1, p1);
    
    
                            if (Convert.ToInt32(dt.Rows[0]["LoginCount"]) > 2)
                            {
                                string s2 = "update Users set Status = '禁用', LastLoginTime=datetime('now','localtime')  where UserName=@u and PassWord=@p";
                                SqliteHelper.ExecuteNonQuery(s2, p1);
                                MessageBox.Show("登陆次数超过3次,用户名已禁用");                        
                                txtUserName.Enabled = false;
                                txtPwd.Enabled = false;
                                return;
                            }
                            else
                            {
                                string s3 = "update Users set LoginCount = LoginCount+1 ,LastLoginTime=datetime('now','localtime')  where UserName='" + txtUserName.Text + "' and PassWord='" + txtPwd.Text + "'";
                                int count = SqliteHelper.ExecuteNonQuery(s3, null);
                                this.DialogResult = DialogResult.OK;
                            }
                        }
                        else
                        {
                            string s2 = "update Users set ErrorCount = ErrorCount + 1,LastLoginTime=datetime('now','localtime') where UserName='" + txtUserName.Text + "'";
                            int count = SqliteHelper.ExecuteNonQuery(s2, null);
    
                            string s1 = "select * from Users where UserName=@u";
                            SQLiteParameter[] p1 = { new SQLiteParameter("@u", txtUserName.Text)};
                            DataTable dt = SqliteHelper.ExecuteDatatable(s1, p1);
    
                            if (Convert.ToInt32(dt.Rows[0]["ErrorCount"]) > 4)
                            {
                                MessageBox.Show("错误次数超过5次,不可登录");
                            }
                            else
                            {
                                MessageBox.Show(("错误次数"+dt.Rows[0]["ErrorCount"].ToString()+""));
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("用户名或密码不能为空");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("程序出现异常,异常原因:" + ex.Message);
                }
            }
  • 相关阅读:
    使用Dockerfile构建镜像并push到私有仓库
    docker registry-v2 搭建私有仓库
    spring-cloud 学习四 服务网关
    spring-cloud 学习三 服务提供者
    TortoiseSVN安装和使用
    SG-UAP常用注解介绍
    weblogic漏洞
    开发工具历史版本
    Android Studio 打包生成apk
    weblogic unable to get file lock问题
  • 原文地址:https://www.cnblogs.com/zhang1997/p/8126842.html
Copyright © 2011-2022 走看看