C#三层架构--登录

前言

写一个程序的话,就基本的的功能就是一个登录和注册,这两个就是基本的入门,今天写的内容就是登陆,而登陆的话,就有winfin窗体登录,如果感觉有兴趣的话,那可以往下继续阅读。可能我的文章写得不是很好,但是这都是我亲自动手去做了的事情,并且功能还是可以实现的,如果有不是之处,可以指点出来,大家共同进步。

(1)数据库Logininfo(本人用的是MySQL)

C#三层架构--登录

(2)DBHelper类(可以访问:https://blog.csdn.net/qqj3066574300/article/details/88918104) 

(3)实体类(Model)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Model
{
    /// <summary>
    /// 用户登录
    /// </summary>
    public class Login
    {
        /// <summary>
        /// 无参
        /// </summary>
        public Login()
        {

        }

        /// <summary>
        /// 带参构造
        /// </summary>
        /// <param name="login_id">ID</param>
        /// <param name="login_name">用户名</param>
        /// <param name="login_password">用户密码</param>
        public Login(string login_id,string login_name,string login_password)
        {
            Login_Id = login_id;

            Login_Name = login_name;

            Login_Password = login_password;
        }

        /// <summary>
        /// ID
        /// </summary>
        public string Login_Id { get; set; }

        /// <summary>
        /// 用户名
        /// </summary>
        public string Login_Name { get; set; }

        /// <summary>
        /// 用户账号
        /// </summary>
        public string Login_Password { get; set; }
    }
}

(4)数据访问层(DAL)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
using Model;

namespace DAL
{
    /// <summary>
    /// 用户登录
    /// </summary>
    public class LoginDAL
    {
        /// <summary>
        /// 方法:登录
        /// </summary>
        /// <param name="Login_Name">用户名</param>
        /// <param name="Login_Password">密码</param>
        /// <returns></returns>
        public List<Login> GetLogins(string Login_Name, string Login_Password)
        {
            List<Login> list = new List<Login>();
            using (MySqlDataReader dr = DBHelper.ExecuteReader("select * from logininfo where Login_Name = '" +Login_Name + "' and Login_Password = '" + Login_Password + "'"))
            {
                while (dr.Read())
                {
                    list.Add(new Login
                    {
                        Login_Id = Convert.ToString(dr["Login_Id"]),
                        Login_Name = Convert.ToString(dr["Login_Name"]),
                        Login_Password = Convert.ToString(dr["Login_Password"])
                    });
                }
            }
            return list;
        }
    }
}

(5)业务逻辑层(BLL)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//添加引用
using Model;
using DAL;

namespace BLL
{
    /// <summary>
    /// 用户登录
    /// </summary>
    public class LoginBLL
    {
        Login login = new Login();
        LoginDAL cd = new LoginDAL();
        
        /// <summary>
        /// 方法:登录
        /// </summary>
        /// <param name="Login_Name">用户名</param>
        /// <param name="Login_Password">密码</param>
        /// <returns></returns>
        public List<Login> GetLogins(string Login_Name,string Login_Password)
        {
            return cd.GetLogins(Login_Name,Login_Password);
        }
    }
}

(6)Winfin(UI界面)

界面

C#三层架构--登录

代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
//添加引用
using Model;
using BLL;

namespace Phone
{
    public partial class frmLogin : Form
    {
        public frmLogin()
        {
            InitializeComponent();
        }

        Login login = new Login();
        LoginBLL loginBLL = new LoginBLL();

        /// <summary>
        /// 取消按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnCose_Click(object sender, EventArgs e)
        {
            //如果点击取消按钮,则清空用户名输入和密码输入
            if (btnCose.Enabled ==true)
            {
                txtName.Text = "";
                txtPassword.Text = "";
            }
        }

        /// <summary>
        /// 登录调转到个人相册中心
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnLogin_Click(object sender, EventArgs e)
        {
            List<Login> list = loginBLL.GetLogins(txtName.Text, txtPassword.Text);
            if (list.Count > 0)
            {
                frmMyPhone frm = new frmMyPhone();
                frm.ShowDialog();
            }
            else
            {
                MessageBox.Show("登录失败!");
                return;
            }
        }
    }
}