c#实现登录,注册功能

2022-09-15 08:58:29

c#实现登录,注册功能

登录界面:

主窗体为登录界面,输入用户名和密码,单击“登录”按钮时从数据库中读取数据,与输入的用户名、密码验证,验证通过后,登录窗体消失。单击“注册”按钮时窗体中的输入的数据保存到数据库中 。
登录界面

代码实现:

privatevoidbutton1_Click(object sender,EventArgs e){//获取界面上用户输入信息string userName= textBox1.Text;string userPwd= textBox2.Text;//2.运用Connection对象建立与数据库的连接//(1)定义连接数据库的字符串string connStr="server=DESKTOP-XXXX;database=数据库名;uid=账号;pwd=密码";//采用混合身份验证//(2)创建Connection对象SqlConnection conn=newSqlConnection(connStr);//(3)打开连接
            conn.Open();//3.利用Command对象执行sql语句//(1)定义要执行的sql语句string sql="select count(1) from 数据表 where userName=@t1 and userPwd=@t2 ";//(2)通过Connection对象和sql语句,创建Command对象SqlCommand cmd=newSqlCommand(sql, conn);//(3)处理Command对象的参数
            cmd.Parameters.Add("@t1", SqlDbType.VarChar).Value= userName;
            cmd.Parameters.Add("@t2", SqlDbType.VarChar).Value= userPwd;//(4)执行SQL语句if((int)cmd.ExecuteScalar()>0){Form2 Form2=newForm2();
                userName= textBox1.Text;
                userPwd= textBox2.Text;
                Form2.Show();//登录成功显示的下一个页面
                MessageBox.Show("欢迎进入!","登陆成功!", MessageBoxButtons.OK, MessageBoxIcon.Information);// this.Hide(); //查到数据的处理逻辑代码}else{//没查到数据的处理逻辑代码
                MessageBox.Show("用户名或者密码错误","!提示", MessageBoxButtons.OK, MessageBoxIcon.Error);}//4.关闭数据库连接
            conn.Close();}

数据库设计

在这里插入图片描述

注册功能

注册功能会判断数据库是否存在用户,如果注册成功会将账号和密码存储进数据库。
注意:账号具有唯一性,在数据库中需要将账号字段设置为唯一键。
注册界面:
在这里插入图片描述

代码实现:

privatevoidbutton1_Click(object sender,EventArgs e){if(textBox1.Text==""){
                MessageBox.Show("用户名不能为空!");}if(textBox2.Text==""){
                MessageBox.Show("密码不能为空!");}if(textBox3.Text==""){
                MessageBox.Show("确认密码不能为空!");}if(textBox2.Text!= textBox3.Text){
                MessageBox.Show("密码和确认密码不相符!");
                textBox2.Text="";
                textBox3.Text="";}try{string sql=string.Format("select count(*) from 数据库 where userName='{0}'", textBox1.Text);SqlCommand cmd=newSqlCommand(sql, MyMeans.conn);
                MyMeans.conn.Open();int a=(int)cmd.ExecuteScalar();//返回一个值,看用户是否存在StringBuilder strsql=newStringBuilder();if(a==0){
                    strsql.Append("insert into 数据表(userName,userPwd)");
                    strsql.Append("values(");
                    strsql.Append("'"+ textBox1.Text.Trim().ToString()+"',");
                    strsql.Append("'"+ textBox2.Text.Trim().ToString()+"'");
                    strsql.Append(")");using(SqlCommand cmd2=newSqlCommand(strsql.ToString(), MyMeans.conn)){
                        cmd2.ExecuteNonQuery();}
                    MessageBox.Show("注册成功!","信息提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);this.Close();}else{
                    MessageBox.Show("用户已存在!","信息提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);this.Close();}}catch(Exception ex){
                MessageBox.Show(ex.ToString());
                Application.Exit();}finally{
                MyMeans.conn.Close();
                MyMeans.conn.Dispose();}}

新手小白,第一次编写。
还有不足,多谢指导。

  • 作者:杨无敌-llq
  • 原文链接:https://blog.csdn.net/HVVN3/article/details/121491186
    更新时间:2022-09-15 08:58:29