C#三层架构--登录
前言
写一个程序的话,就基本的的功能就是一个登录和注册,这两个就是基本的入门,今天写的内容就是登陆,而登陆的话,就有winfin窗体登录,如果感觉有兴趣的话,那可以往下继续阅读。可能我的文章写得不是很好,但是这都是我亲自动手去做了的事情,并且功能还是可以实现的,如果有不是之处,可以指点出来,大家共同进步。
(1)数据库Logininfo(本人用的是MySQL)
(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界面)
界面
代码
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;
}
}
}
}