欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【三层】创建一个简单的C#三层结构

程序员文章站 2022-05-22 13:07:08
...

       开始我们的项目吧!

       打开VS,新建windows窗体应用程序,命名为ThreeLayers。      

       右键解决方案—–添加—–新建项目—-类库,命名为:DAL

【三层】创建一个简单的C#三层结构

【三层】创建一个简单的C#三层结构

同样方式,再添加两个项目名为BLL和Model,修改各层的名字如图所示:

【三层】创建一个简单的C#三层结构           接下来,就要添加引用,右键UI—-添加—-引用,如图所示

【三层】创建一个简单的C#三层结构【三层】创建一个简单的C#三层结构选择BLL和Model,确定。同样,给BLL层引用DAL和Model,给DAL层引用Model和using System.Data.SqlClient。可在程序集—-搜索解决方案处搜索引用。

【三层】创建一个简单的C#三层结构

 

      接下来,打开UI层的Form1,对界面进行编辑,如图:

【三层】创建一个简单的C#三层结构

就是两个label,两个TextBox,一个button,可以在菜单的视图—-工具箱里面找到。右键用户的输入框—-属性,如下图所示,修改Name为:ID;同样修改密码输入框的Name为:Pass。

【三层】创建一个简单的C#三层结构

    界面弄好之后,我们再看一看数据库方面,这个示例用的是SQL Server 数据库,在数据库中创建一个如下图的表,保存,就可以着手写代码了。

【三层】创建一个简单的C#三层结构

 

———-    代码如下:


   
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;

namespace ThreeLayers
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {   //获取输入的用户名和密码
            string UserCode = ID.Text.Trim();
            string PassWord = Pass.Text;
            BLL.bll bb = new BLL.bll();
            int uu = bb.Select(UserCode, PassWord);
            if (uu == 0)
            {
                MessageBox.Show("登陆成功!");
            }else if (uu ==1 ){
                MessageBox.Show("密码错误!");
            }else if (uu == 2){
                MessageBox.Show("无此用户!");
            }
        }
    }
}

BLL层:

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

namespace BLL
{
    public class bll
    { 
        public int Select(string UserCode,string PassWord)
        {
            DAL.dal dd = new DAL.dal();
            model mm = dd.Select(UserCode, PassWord);
            //将输入的信息和从数据库查到的信息做对比
            if (mm != null && mm.UserCode == UserCode)
            {
                if (mm.PassWord == PassWord)
                {
                    return 0;
                }
                return 1;
            }
            return 2;
        }
    }
}


DAL层:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using UI;

namespace DAL
{
    public class dal
    {   //数据库连接命令。server后边的.是本地服务器的意思,相当于localhost ,为了方便写成了“.”,
        //initial catalog后面是你数据库的名字,uid是你数据库的登录名,pwd是登录密码。
        string ConText = "server=.;initial catalog= ljndba; uid =chouningning; pwd=chouningning";
        public model Select(string UserCode,string PassWord)
        {
            model mm = null;
            try { 
            SqlConnection con = new SqlConnection(ConText);
            con.Open();
                //Ning是刚才你建的表的名字
            SqlCommand cmd = new SqlCommand("select * from Ning where UserCode='"+UserCode+"'",con);
            SqlDataReader reader = cmd.ExecuteReader();

            while (reader.Read())
            {
                if (mm == null)
                {
                    mm = new model();
                }
                mm.UserCode = reader.GetString(0);
                mm.PassWord = reader.GetString(reader.GetOrdinal("PassWord"));
            }
            }catch(Exception ex){

            }
            return mm;
        }

    }
}

Model层 :

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

namespace UI
{
    public class model
    {
        public string UserCode
        {
            get;
            set;
        }
        public string PassWord
        {
            get;
            set;
        }
    }
}

最后运行结果如下:

【三层】创建一个简单的C#三层结构【三层】创建一个简单的C#三层结构【三层】创建一个简单的C#三层结构