C#基于winform窗体和SQL Server数据库实现用户登录验证和值传递功能

1 篇文章 0 订阅

首先我们打开Visual Studio2017(随便你什么版本,只要你支持Sql server数据库就行了),然后我们点击文件>新建>项目>Visual C#中找到Windows窗体应用程序然后修改项目名称(你自己要做的显目的名字),点击确定就行了
然后你就会看到如下这个设计窗体:
在这里插入图片描述
设计一下窗体的控件变成如下这个效果:
在这里插入图片描述
设计完窗体效果,然后我们就可以写事件了
首先我们先写取消按钮的点击事件:
鼠标双击取消按钮控件打开事件编辑器写click事件:

  private void bthCancel_Click(object sender, EventArgs e)
        {
        //信息提示语句
          DialogResult result = MessageBox.Show("您确定要取消吗?","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Exclamation);
            if (result == DialogResult.OK) {
                this.Close();
            }
        }

写完后我们再运行窗体程序,点击取消按钮就可以看到这样一个提示,如果点击确定,窗体就会关闭,如果点击取消,提示信息就会消失
在这里插入图片描述
完成后我们就可以再来写登录按钮的点击事件:

  1. 首先我们写非空验证
 public bool CheckInput() {
            if (txtUserName.Text.Trim().Equals(String.Empty))
            {
                MessageBox.Show("请输入用户名!", "提示");
                txtUserName.Focus();//获取焦点
                return false;
            }
            else if (txtUserPwd.Text.Trim().Equals(String.Empty))
            {
                MessageBox.Show("请输入密码!", "提示");
                txtUserPwd.Focus();//获取焦点
                return false;
            } else if (cobType.Text.Trim().Equals(String.Empty)){
                MessageBox.Show("请选择登录类型!","提示");
                cobType.Focus();
                return false;
            }
            else {
                return true;
            }
        }

然后在登录按钮的click事件里面判断CheckInput() 方法是否通过,如果通过就继续验证用户名和密码的正确性,如果没通过就提示用户输入,这里我们验证用户名和密码就需要连接数据库匹配数据了,所以我们在数据库里面先写一个查询语句,看是否能登入数据库成功匹配里面的数据

在这里插入图片描述

select COUNT(*) from School where UserName='' and UserPwd = ''

然后我们把刚才的语句拿到点击事件中

//数据库连接字符串
 string connString = "Data Source=.;Initial Catalog=MySchool;Integrated Security=True";
        private void bthLogin_Click(object sender, EventArgs e)
        {
            //非空验证
            if (CheckInput())
            {
                //验证用户
                string name = txtUserName.Text.Trim();
                string pwd = txtUserPwd.Text.Trim();
                string sql = string.Format("select COUNT(*) from School where UserName='{0}' and UserPwd = '{1}'", name, pwd);
                SqlConnection conn = new SqlConnection(connString);
                try
                {
                    conn.Open();//打开连接
                    SqlCommand cmd = new SqlCommand(sql,conn);//执行命令对象
                    int i = Convert.ToInt32(cmd.ExecuteScalar());//调用查询单个值的方法
                    if (i > 0)
                    {
                        MessageBox.Show("登录成功!");
                        //实例化窗口对象
                        frmAdmin frm = new frmAdmin();
                        frm.userId = txtUserName.Text.Trim();//传递当前用户名
                        //显示对象窗口
                        frm.Show();
                    }
                    else {
                        MessageBox.Show("登录失败!");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                finally {
                    conn.Close();//关闭连接
                }
            }
        }

这样,我们就可以实现登录验证了,然后再在当前项目中再新建一个窗体实现接收登录窗体传来的用户名值
双击新建的窗体进入加载事件,然后在加载事件上面定义一个id

 public string userId;//用户名用来接收数据

再在加载事件中写下面这个代码

 this.Text = "欢迎您:"+userId;

然后我们的值传递就写好了
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值