【c#】.net 项目练习之---实现登录注册页面

1 篇文章 0 订阅
这篇博客主要介绍了C#中实现登录、注册和修改密码的界面及功能。作者分享了代码实现过程,包括数据库连接、用户验证以及界面跳转逻辑。遇到的问题包括新窗口未显示内容,已通过检查控件顺序和数据库交互来解决。同时提醒读者注意输入验证和错误处理。
摘要由CSDN通过智能技术生成

介绍
up主还是个小白,处在学习阶段,东西做的潦草,大家将就着看一下,代码写的有问题还希望大佬多多指教,共同进步!
登录界面
在这里插入图片描述
注册页面
在这里插入图片描述
在这里插入图片描述
修改密码界面
在这里插入图片描述

登录成功后的主页面,

在这里插入图片描述
问题:
一开始的时候,界面之间的跳转有问题,主要是弹出新窗口但是不显示内容,问题可能就是,你忘记在你的项目中去创建窗口文件了。其次就是每一个控件之间的实际顺序你要理清楚,比如说你点击登录成功之后才会跳转到主页面,所以这时顺序逻辑要理清楚。连接数据库的问题、对输入的内容进行判断,限定输入的位数、类型的等等,稍后会更新

***代码***
 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        
            string str = "Data Source=(DESCRIPTION=(ADDRESS = (PROTOCOL = TCP)(HOST = .)(PORT = .))(CONNECT_DATA=(SERVICE_NAME=ORCL)));Persist Security Info=True;User ID=.;Password=.;";
            OracleConnection conn = null;
            

        //登录
        private void button1_Click(object sender, EventArgs e)
        {
            
            try
            {
                conn = new OracleConnection(str);
                conn.Open();
                string sql1 = @"select U_ID,U_PWD from K_USER where U_ID='{0}' and U_PWD='{1}'";    //查询语句
                sql1 = string.Format(sql1, textBox1.Text, textBox2.Text);      //补充sql语句
                OracleCommand cmd = new OracleCommand(sql1, conn);   //用于执行数据库语句操作
                int returnval = cmd.ExecuteNonQuery();    //在执行非查询 SQL 语句时并不需要返回表中的数据,直接使用 SqlCommand 类的 ExecuteNonQuery 方法即可,
                                                          //该方法的返回值是一个整数,用于返回 SqlCommand 类在执行 SQL 语句后,对表中数据影响的行数。
                
                 if (string.IsNullOrEmpty(textBox1.Text) || string.IsNullOrEmpty(textBox2.Text))
                 {
                    MessageBox.Show("用户名或者编号输入有误,请重新输入!");
                    return;
                 }
                 else if (returnval != 0)
                 {
                    MessageBox.Show("登录成功!");
                    
                    // Form1 Form1 = new Form1();
                    mainform mainform = new mainform();                   
                    mainform.Show();
                    this.Hide();

                    //this.Dispose();
                }                                   
            }
            catch (Exception ex)
            {
                MessageBox.Show("登录失败!失败原因是:" + ex.Message);
            }          
            finally
            {
                if (conn != null)
                {
                    conn.Close();
                }
            }
            
          
            
        }


        //注册
        private void button2_Click(object sender, EventArgs e)
        {
           
            this.DialogResult = DialogResult.OK;
            register register = new register();
            register.Show();        
        }
        //忘记密码
        private void button3_Click(object sender, EventArgs e)
        {
            changepwd changepwd = new changepwd();
            changepwd.Show();
            this.Hide();
        }

主页面代码

public partial class register : Form
    {
        public register()
        {
            InitializeComponent();
        }
        //注册
        private void button2_Click(object sender, EventArgs e)
        {
            string str = "Data Source=(DESCRIPTION=(ADDRESS = (PROTOCOL = TCP)(HOST = .)(PORT = .))(CONNECT_DATA=(SERVICE_NAME=ORCL)));Persist Security Info=True;User ID=.;Password=.;";
            OracleConnection conn = null;
            try
            {
                conn = new OracleConnection(str);
                conn.Open();
                string sql = @"insert into k_USER s(U_ID,U_PWD,U_PID,U_PHONE) values ('{0}','{1}','{2}','{3}')";
                sql = string.Format(sql, textBox1.Text, textBox2.Text,textBox3.Text,textBox4.Text);
                OracleCommand cmd = new OracleCommand(sql, conn);
                OracleDataAdapter oda = new OracleDataAdapter();
                oda.SelectCommand = cmd;
                DataSet ds = new DataSet();
                oda.Fill(ds);       
                
                //if (n != 0)
                //{
                //    MessageBox.Show("用户存在");
                //    textBox1.Text = "";
                //    textBox2.Text = "";
                //    textBox3.Text = "";
                //    textBox4.Text = "";
                //    textBox1.Text = "";

                //}
                int val = cmd.ExecuteNonQuery();
                if (val != -1)
                {
                    MessageBox.Show("注册成功!");
                    mainform mainform = new mainform();
                    mainform.ShowDialog();                   
                    this.Close();
                    this.Dispose();
                }
                else
                {
                    MessageBox.Show("注册失败,请重新输入!");
                    Form1 Form1 = new Form1();
                    Form1.Show();
                }

            }
            catch (Exception ex)
            {
                MessageBox.Show("注册失败!失败原因是:" + ex.Message);
            }
            finally
            {
                if (conn != null)
                {
                    conn.Close();
                    conn.Dispose();
                }
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Dispose();
            Form1 Form1 = new Form1();
            //Form1.Show();
        }
    }

修改密码的界面的代码和注册页面差不多,改一下sql语句做个判断就行,这里就不再贴了,有需要的话可以评论或私聊我。

最后希望大家写代码不掉头发!程序员万岁!

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值