C# 三层架构 UI、BLL、DAL、Model操作数据库登录实例

来源:互联网 发布:行知学院 编辑:程序博客网 时间:2024/06/06 01:49

三层:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)再加上实体类库(Model)

这里做了一个简单的数据库访问,实现验证用户名密码的例子:

这里建立四个项目,UI BLL DAL Model

UI 引用  BLL DAL Model

BLL应用DAL Model

DAL引用Model ,Dal还需要 添加引用》程序集》框架》System.Configuration

访问数据库需要

using System.Configuration;using System.Data;using System.Data.SqlClient;using System.Data.Sql;


App.Config(添加》新建项》应用程序配置文件)

<?xml version="1.0" encoding="utf-8" ?><configuration>  <connectionStrings>    <add name="MYSQL" connectionString="Data Source=.;Initial Catalog=StudentManager;User ID=sa;Pwd=root;"/>  </connectionStrings></configuration>
Model层做表映射:

Student.cs

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Model{     public  class Student    {        private int _UserId;         //用户ID        public int UserId        {            get { return _UserId; }            set { _UserId = value; }        }         //用户名        private string _UserName;        public string UserName        {            get { return _UserName; }            set { _UserName = value; }        }         //用户密码        private string _UserPassword;        public string UserPassword        {            get { return _UserPassword; }            set { _UserPassword = value; }        }    }}
Dal层,数据访问:

SQLHELPER.cs(数据访问)

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;//using System.Configuration;using System.Data;using System.Data.SqlClient;using System.Data.Sql;namespace DAL{    public class SQLHELPER    {        //数据库连接字符串        public static string configuration = ConfigurationManager.ConnectionStrings["MYSQL"].ConnectionString;        /// <summary>        /// 返回首行首列的值        /// </summary>        /// <param name="sqltext">sql语句</param>        /// <returns>返回值类型为object</returns>        public static object ExecuteScalar(string sqltext)        {            using(SqlConnection con=new SqlConnection(configuration))            {                con.Open();                SqlCommand com=new SqlCommand(sqltext,con);                object obj = com.ExecuteScalar();                return obj;            }        }        //返回受影响行数        //返回dataset结果集    }}
studentserver.cs

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Model;namespace DAL{    public class StudentServer    {        public static  string  sqlstr="";        public static int Login(Student student)        {            sqlstr = "select COUNT(*) from   Student where UserName='" + student.UserName + "' and UserPassWord='" + student.UserPassword + "'";            return (int)SQLHELPER.ExecuteScalar(sqlstr);        }    }}

BLL(逻辑业务)

UserManager.cs

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using DAL;using Model;namespace BLL{    public class UserManager    {        public static int login(Student student)        {            return DAL.StudentServer.Login(student);        }    }}
UI:


btn双击事件:

private void button1_Click(object sender, EventArgs e)        {            Student stu = new Student();            stu.UserName=textBox1.Text;            stu.UserPassword=textBox2.Text;            if(BLL.UserManager.login(stu)==1)            {                MessageBox.Show("登录成功");            }else{                MessageBox.Show("登录失败");            }        }


项目截图:



0 1
原创粉丝点击