c#学习笔记(一)c#注册与登录界面

今天开始写自己的第一篇博客,今天自己想制作一个登录界面。

软件:vs2015 、 sql serve 2017

1、首先打开vs先自己制作一个windows窗口应用程序,如下图是笔者自己制作的界面:

c#学习笔记(一)c#注册与登录界面_第1张图片
2、此处若有用户名密码则直接输入点击登录,若无则需要点击注册按钮弹出注册窗口。首先我们再创建一个应用窗口:
c#学习笔记(一)c#注册与登录界面_第2张图片
3、将注册按钮与注册界面相连:(此处效果为点击注册按钮,打开注册界面,隐藏登录界面) private void button2_Click(object sender, EventArgs e) { 注册界面 f2 = new 注册界面(); this.Hide(); f2.Show(); }

4、同理,当注册完成后,我们应点击确定按钮,回到登录界面。(方法同上)

5、用户名以及密码的判定问题:

方法一:将用户名和密码写入本地txt文件中,在注册的时候写入文件,登录的时候从文件中读出信息进行对比,如果文件中有匹配的信息,则可登录成功,若无,则不允许登录;
方法二:将vs与sql serve数据库相连,将用户名与密码存入数据库中。(两种方法本质思想相同,笔者为了熟悉数据库与vs的联系,采用的是这种方法)
在菜单栏--工具选项中,有连接到数据库选项,输入自己的服务器名以及自己建的数据库名即可连接。

6、创建数据库:在sql serve中创建自己的数据库,在数据库中新建立表格用于存储用户名和密码,可以建立一个表,包含两列,也可建立两个表,每个表一列。如下是我用数据库语言建立的表:
表 username 中包含一列 c#用于存储用户名;
表 password 中包含一列 num#用于存储密码;
c#学习笔记(一)c#注册与登录界面_第3张图片

7、表建好以后即可在注册界面写入代码将从文本框中获取的用户名及密码写入数据库:
  if (textBox2.Text == textBox3.Text)
        {
            string connectionStr = "Data Source=(服务器名);Initial Catalog=(数据库名);Persist Security Info=True;User ID=(数据库登录账号);Password=(密码); //此处用的调用数据库的方法为sql serve身份验证,若是windows本地验证,则需另外的引用方法
            //创建连接对象
            myConnection = new SqlConnection(connectionStr);
            //测试是否连接成功
            
            // SqlConnection mycon = new SqlConnection(connectionStr); //定义SqlConnection对象实例并连接数据库
           try
            {
                myConnection.Open();//打开数据库
            }
            catch
            {
                MessageBox.Show("数据库连接错误", "错误提示");
            }
            finally
           {
               myConnection.Close();//关闭数据库
           }

            username = textBox1.Text.ToString(); //获取用户名 
            
            password = textBox2.Text.ToString(); //获取密码


            string myinsert = "insert into username values('"+username+"')"+"insert into password values('" +password+ "')";

            SqlCommand mycom = new SqlCommand(myinsert, myConnection);       //定义对象并连接数据库

            myConnection.Open();//打开数据库

            mycom.ExecuteNonQuery();                           //执行插入语句

            myConnection.Close();                //关闭对象并释放所占内存空间    

          //  myConnection.Dispose();

            MessageBox.Show("注册成功,请前往登录界面登录!") ;

            Test f2 = new Test();
            this.Close();
            f2.Show();
        }
        else
        {
            MessageBox.Show("两次密码输入不一致,请重新输入!");
        }
        
    }`

8、所需数据存入数据库后,即可在登录界面登录,登录时需要从数据库中对比输入的用户名密码,若有匹配,则允许登录,反之,不行。代码如下:`
string username = this.textBox1.Text;
string password = this.textBox2.Text;
if (username.Equals("") || password.Equals(""))//用户名或密码为空
{
MessageBox.Show(“用户名或密码不能为空”);
}
else//用户名或密码不为空
{
string connectionString = “Data Source=LAPTOP-UTBHBDOS;Initial Catalog=load;Persist Security Info=True;User ID=sa;Password=lczha542201”;

            myConnection = new SqlConnection(connectionString);
            //测试连接

            myConnection.Open(); //打开数据库

            string sql = "Select * from username where c#='" + username + "'"+ "Select * from password where num#='" + password + "'";//查找用户sql语句

            SqlCommand cmd = new SqlCommand(sql, myConnection);//定义对象并连接数据库

            cmd.CommandType = CommandType.Text;

            SqlDataReader sdr;

            sdr = cmd.ExecuteReader();

            if (sdr.Read())         //从结果中找到
            {
                应用界面 f3 = new 应用界面();
                this.Hide();
                f3.Show();

            }
            else
            {
                MessageBox.Show("用户名或密码错误", "提示");
                return;
            }
            myConnection.Close();//关闭数据库
        }`

9、用户名密码匹配之后即可允许登录到应用界面。

参考文章:

https://blog.csdn.net/weixin_41259130/article/details/81740618

你可能感兴趣的:(学习笔记)